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 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
:file: This file is part of the pgRouting project.
:copyright: Copyright (c) 2018-2026 pgRouting developers
:license: Creative Commons Attribution-Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0
.. index::
single: Prim Family ; pgr_primBFS
single: Spanning Tree Category ; pgr_primBFS
single: Breadth First Search Category ; pgr_primBFS
single: primBFS
|
``pgr_primBFS``
===============================================================================
``pgr_primBFS`` — Prim's algorithm for Minimum Spanning Tree with Depth First
Search ordering.
.. rubric:: Availability
:Version 3.7.0:
* Standardizing output columns to |result-spantree|
* Added ``pred`` result columns.
:Version 3.0.0:
* New official function.
Description
-------------------------------------------------------------------------------
Visits and extracts the nodes information in Breath First Search ordering
of the Minimum Spanning Tree created using Prims's algorithm.
**The main Characteristics are:**
.. include:: prim-family.rst
:start-after: prim-description-start
:end-before: prim-description-end
- Returned tree nodes from a root vertex are on Breath First Search order
- Breath First Search Running time: :math:`O(E + V)`
|Boost| Boost Graph Inside
Signatures
-------------------------------------------------------------------------------
.. admonition:: \ \
:class: signatures
| pgr_primBFS(`Edges SQL`_, **root vid**, [``max_depth``])
| pgr_primBFS(`Edges SQL`_, **root vids**, [``max_depth``])
| Returns set of |result-spantree|
.. index::
single: primBFS ; Single vertex
Single vertex
...............................................................................
.. admonition:: \ \
:class: signatures
| pgr_primBFS(`Edges SQL`_, **root vid**, [``max_depth``])
| Returns set of |result-spantree|
:Example: The Minimum Spanning Tree having as root vertex :math:`6`
.. literalinclude:: primBFS.queries
:start-after: -- q1
:end-before: -- q2
.. index::
single: primBFS ; Multiple vertices
Multiple vertices
...............................................................................
.. admonition:: \ \
:class: signatures
| pgr_primBFS(`Edges SQL`_, **root vids**, [``max_depth``])
| Returns set of |result-spantree|
:Example: The Minimum Spanning Tree starting on vertices :math:`\{9, 6\}` with
:math:`depth \leq 3`
.. literalinclude:: primBFS.queries
:start-after: -- q2
:end-before: -- q3
Parameters
-------------------------------------------------------------------------------
.. include:: drivingDistance-category.rst
:start-after: spantree-params_start
:end-before: spantree-params_end
BFS optional parameters
...............................................................................
.. include:: BFS-category.rst
:start-after: max-depth-optional-start
:end-before: max-depth-optional-end
Inner Queries
-------------------------------------------------------------------------------
Edges SQL
..............................................................................
.. include:: pgRouting-concepts.rst
:start-after: basic_edges_sql_start
:end-before: basic_edges_sql_end
Result columns
-------------------------------------------------------------------------------
.. include:: drivingDistance-category.rst
:start-after: spantree-result-columns-start
:end-before: spantree-result-columns-end
See Also
-------------------------------------------------------------------------------
* :doc:`spanningTree-category`
* :doc:`prim-family`
* :doc:`sampledata`
* `Boost: Prim's algorithm
<https://www.boost.org/libs/graph/doc/prim_minimum_spanning_tree.html>`__
* `Wikipedia: Prim's algorithm
<https://en.wikipedia.org/wiki/Prim%27s_algorithm>`__
.. rubric:: Indices and tables
* :ref:`genindex`
* :ref:`search`
|