Aleph-w  1.5a.2
Biblioteca general de algoritmos y estructuras de datos
 Todo Clases Archivos Funciones Variables 'typedefs' Enumeraciones Amigas Grupos Páginas
Referencia de la plantilla de la Clase Aleph::Breadth_First_Traversal< GT, Operation, SA >

#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)
 

Descripción detallada

template<class GT, class Operation = Default_Visit_Op<GT>, class SA = Dft_Show_Arc<GT>>
class Aleph::Breadth_First_Traversal< GT, Operation, SA >

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:

  1. g: el grafo.
  2. p: el nodo actual que se está visitando en amplitud.
  3. a: el arco que conduce al nodo actual p.

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:

  1. GT: el tipo de grafo, el cual debe ser derivado de List_Graph.
  2. SA: clase que se encarga de mostrar el arco. Internamente, se emplea el iterador filtro Node_Arc_Iterator (basado en Filter_Iterator) para recorrer los arcos de cada nodo. SA es la clase que determina si el arco debe o no mostrarse al recorrido.

El recorrido utiliza el bit breadth_first, el cual es iniciado al principio del algoritmo.

Ver también
depth_first_traversal() test_connectivity()

Documentación del constructor y destructor

template<class GT , class Operation = Default_Visit_Op<GT>, class SA = Dft_Show_Arc<GT>>
Aleph::Breadth_First_Traversal< GT, Operation, SA >::Breadth_First_Traversal ( SA &&  __sa = SA())
inline

Constructor de Functor Breadth_First_Traversal. El parámetro es el filtro de arcos del iterador interno.

Documentación de las funciones miembro

template<class GT , class Operation = Default_Visit_Op<GT>, class SA = Dft_Show_Arc<GT>>
size_t Aleph::Breadth_First_Traversal< GT, Operation, SA >::operator() ( GT &  g,
Operation &&  op = Operation() 
)
inline

Invoca al recorrido por amplitud.

Parámetros
[in]gel grafo a explorar.
[in]opoperación de visita.
Devuelve
el número de nodos que fueron visitados
Excepciones
bad_allocsi no hay memoria para la cola interna que utiliza el algoritmo
template<class GT , class Operation = Default_Visit_Op<GT>, class SA = Dft_Show_Arc<GT>>
size_t Aleph::Breadth_First_Traversal< GT, Operation, SA >::operator() ( GT &  g,
typename GT::Node *  p,
Operation &&  op = Operation() 
)
inline

Invoca al recorrido por amplitud desde un nodo de inicio.

Parámetros
[in]gel grafo a explorar.
[in]pel nodo por donde se inicia el recorrido.
[in]opoperación de visita.
Devuelve
el número de nodos que fueron visitados
Excepciones
bad_allocsi no hay memoria para la cola interna que utiliza el algoritmo

La documentación para esta clase fue generada a partir del siguiente fichero:

Leandro Rabindranath León