1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
|
..
****************************************************************************
pgRouting Manual
Copyright(c) pgRouting Contributors
This documentation is licensed under a Creative Commons Attribution-Share
Alike 3.0 License: https://creativecommons.org/licenses/by-sa/3.0/
****************************************************************************
|
* **Supported versions:**
`Latest <https://docs.pgrouting.org/latest/en/pgr_strongComponents.html>`__
(`3.4 <https://docs.pgrouting.org/3.4/en/pgr_strongComponents.html>`__)
`3.3 <https://docs.pgrouting.org/3.3/en/pgr_strongComponents.html>`__
`3.2 <https://docs.pgrouting.org/3.2/en/pgr_strongComponents.html>`__
`3.1 <https://docs.pgrouting.org/3.1/en/pgr_strongComponents.html>`__
`3.0 <https://docs.pgrouting.org/3.0/en/pgr_strongComponents.html>`__
* **Unsupported versions:**
`2.6 <https://docs.pgrouting.org/2.6/en/pgr_strongComponents.html>`__
`2.5 <https://docs.pgrouting.org/2.5/en/pgr_strongComponents.html>`__
``pgr_strongComponents``
===============================================================================
``pgr_strongComponents`` — Strongly connected components of a directed graph
using Tarjan's algorithm based on DFS.
.. figure:: images/boost-inside.jpeg
:target: https://www.boost.org/libs/graph/doc/strong_components.html
Boost Graph Inside
.. rubric:: Availability
* Version 3.0.0
* Return columns change:
* ``n_seq`` is removed
* ``seq`` changed type to ``BIGINT``
* **Official** function
* Version 2.5.0
* New **experimental** function
Description
-------------------------------------------------------------------------------
A strongly connected component of a directed graph is a set of vertices that are
all reachable from each other.
**The main characteristics are:**
- Works for **directed** graphs.
- Components are described by vertices identifiers.
- The returned values are ordered:
- ``component`` ascending
- ``node`` ascending
- Running time: :math:`O(V + E)`
.. index::
single: strongComponents
Signatures
-------------------------------------------------------------------------------
.. admonition:: \ \
:class: signatures
| pgr_strongComponents(`Edges SQL`_)
| RETURNS SET OF |result-component-V|
| OR EMPTY SET
:Example: The strong components of the graph
.. literalinclude:: doc-pgr_strongComponents.queries
:start-after: -- q1
:end-before: -- q2
.. figure:: /images/scc_sampledata.png
:scale: 25%
Parameters
-------------------------------------------------------------------------------
.. include:: pgRouting-concepts.rst
:start-after: only_edge_param_start
:end-before: only_edge_param_end
Inner Queries
-------------------------------------------------------------------------------
Edges SQL
...............................................................................
.. include:: pgRouting-concepts.rst
:start-after: basic_edges_sql_start
:end-before: basic_edges_sql_end
Result Columns
-------------------------------------------------------------------------------
.. include:: pgr_connectedComponents.rst
:start-after: return_componentsV_start
:end-before: return_componentsV_end
See Also
-------------------------------------------------------------------------------
* :doc:`components-family`
* The queries use the :doc:`sampledata` network.
* Boost: `Strong components
<https://www.boost.org/libs/graph/doc/strong_components.html>`__
* wikipedia: `Strongly connected component
<https://en.wikipedia.org/wiki/Strongly_connected_component>`__
.. rubric:: Indices and tables
* :ref:`genindex`
* :ref:`search`
|