#include <tpl_graph_utils.H>
Métodos públicos | |
Breadth_First_Traversal (SA &&__sa=SA()) | |
Breadth_First_Traversal (SA &__sa) | |
size_t | operator() (GT &g, Operation &&op=Operation()) |
size_t | operator() (GT &g, Operation &op) |
size_t | operator() (GT &g, typename GT::Node *p, Operation &&op=Operation()) |
size_t | operator() (GT &g, typename GT::Node *p, Operation &op) |
Recorrido genérico en amplitud de un grafo.
Esta clase recorre en amplitud el grafo g. Por cada nodo visitado, se invoca a una función cuyo prototipo debe ser:
bool visitar(GT & g, typename GT::Node * p, typename GT::Arc * a)
Cuyos parámetros se describen a continuación:
Si la función retorna true, entonces el recorrido se detiene; es decir, no se prosigue el recorrido sobre el grafo. Si la función retorna false, entonces el recorrido en amplitud prosigue y se detendría una vez que todos los arcos del grafo hayan sido vistos.
La clase toma dos parámetros tipo:
El recorrido utiliza el bit breadth_first, el cual es iniciado al principio del algoritmo.
|
inline |
Constructor de Functor Breadth_First_Traversal. El parámetro es el filtro de arcos del iterador interno.
|
inline |
Invoca al recorrido por amplitud.
[in] | g | el grafo a explorar. |
[in] | op | operación de visita. |
bad_alloc | si no hay memoria para la cola interna que utiliza el algoritmo |
|
inline |
Invoca al recorrido por amplitud desde un nodo de inicio.
[in] | g | el grafo a explorar. |
[in] | p | el nodo por donde se inicia el recorrido. |
[in] | op | operación de visita. |
bad_alloc | si no hay memoria para la cola interna que utiliza el algoritmo |