#include <tpl_spanning_tree.H>
Métodos públicos | |
Find_Breadth_First_Spanning_Tree (SA &&__sa=SA()) | |
Find_Breadth_First_Spanning_Tree (SA &__sa) | |
void | operator() (GT &g, typename GT::Node *gnode, GT &tree) |
Calcula un árbol abarcador en amplitud de un grafo a partir de un nodo.
Esta clase toma un grafo g, efectúa un recorrido en amplitud a partir de un nodo dado y construye el árbol abarcador según el orden de visita dado por el recorrido.
La clase toma dos parámetros tipo:
@throw bad_alloc si no hay memoria para construir el árbol abarcador o para la cola interna que se utiliza para el recorrido en amplitud. @see find_depth_first_spanning_tree() Tree_Node @see graph_to_tree_node()
|
inline |
Invoca a la construcción de un árbol abarcador el amplitud.
Luego de la operación el parámetro tree contiene el árbol abarcador en cuestión con sus arcos y nodos mapeados al grafo g.
Durante la ejecución, el algoritmo marca los nodos y arcos visitados con el bit el spanning_tree.
El orden de visita del grafo no necesariamente es el mismo que el de la primitiva breadth_first_traversal().
[in] | g | el grafo sobre el cual se desea construir el árbol abarcador en amplitud. |
[in] | gnode | puntero al nodo origen de la búsqueda en amplitud. |
[out] | tree | grafo donde se colocará el árbol abarcador de amplitud. |