Supported versions:
pgr_prim¶
pgr_prim
— Bosque de expansión de grafo mínimo, utilizando el algoritmo Prim.
Disponibilidad
Versión 3.0.0
Nueva función Oficial
Soporte
Descripción¶
Este algoritmo encuentra el bosque de expansión mínimo en un grafo posiblemente desconectado usando el algoritmo de Prim.
Las características principales son:
Su implementación solo está en grafo no dirigido.
El proceso se realiza sólo en las aristas con costos positivos.
Cuando el grafo está conectado
Las aristas resultantes componen un árbol
Cuando el grafo no está conectado,
Encuentra un árbol de expansión mínimo para cada componente conectado.
Las aristas resultantes conforman un bosque.
Tiempo de ejecución de Prim: \(O(E*log V)\)
EMPTY SET es regresado cuando no hay aristas en el grafo
Firmas¶
Resumen
pgr_prim(edges_sql)
RETURNS SET OF (edge, cost)
OR EMPTY SET
- Ejemplo
Bosque de Expansión Mínimo de un subgrafo
SELECT edge, cost FROM pgr_prim(
'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id < 14'
) ORDER BY edge;
edge | cost
------+------
1 | 1
2 | 1
3 | 1
4 | 1
5 | 1
6 | 1
7 | 1
9 | 1
10 | 1
11 | 1
13 | 1
(11 rows)
Parámetros¶
Parámetro |
Tipo |
Descripción |
---|---|---|
Edges SQL |
|
Consulta SQL descrita en Inner query. |
Consulta interna¶
Columna |
Tipo |
Valores predeterminados |
Descripción |
---|---|---|---|
id |
|
Identificador de la arista. |
|
origen |
|
Identificador del primer punto final en el vértice de la arista. |
|
objetivo |
|
Identificador del segundo punto final en el vértice de la arista. |
|
cost |
|
Peso de la arista (source, target)
|
|
reverse_cost |
|
-1 |
Peso de la arista (target, source),
|
Donde:
- ANY-INTEGER
SMALLINT, INTEGER, BIGINT
- ANY-NUMERICAL
SMALLINT, INTEGER, BIGINT, REAL, FLOAT
Columnas de Resultados¶
Devuelve SET OF (conjunto de) (edge, cost)
Columna |
Tipo |
Descripción |
---|---|---|
edge |
|
Identificador de la arista. |
cost |
|
Coste para atravezar el borde. |
Ver también¶
Las consultas utilizan la red Datos Muestra .
Índices y tablas