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::Find_Path_Depth_First< GT, SA >

#include <tpl_find_path.H>

Métodos públicos

 Find_Path_Depth_First (SA &&__sa=SA())
 
 Find_Path_Depth_First (SA &__sa)
 
bool operator() (GT &g, typename GT::Node *start_node, typename GT::Node *end_node, Path< GT > &path)
 

Descripción detallada

template<class GT, class SA = Dft_Show_Arc<GT>>
class Aleph::Find_Path_Depth_First< GT, SA >

Busca en profundidad un camino entre un par de nodos.

Find_Path_Depth_First busca en profundidad un camino entre start_node y end_node, a la vez que va construyendo un camino equivalente a la profundidad recursiva de la búsqueda. Si el se encuentra un camino, entonces el método retorna true y el parámetro path alberga el camino en cuestión; de lo contrario, la función retorna false y valor del camino es indeterminado.

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, la función emplea el iterador filtro Node_Arc_Iterator (basado en Filter_Iterator) para recorrer los arcos de cada nodo. SA es el la clase que determina si el arco debe o no mostrarse al recorrido
Ver también
find_path_breadth_first()
dijkstra_min_spanning_tree() dijkstra_min_path()
bellman_ford_min_spanning_tree() q_bellman_ford_min_spanning_tree()

Documentación de las funciones miembro

template<class GT , class SA = Dft_Show_Arc<GT>>
bool Aleph::Find_Path_Depth_First< GT, SA >::operator() ( GT &  g,
typename GT::Node *  start_node,
typename GT::Node *  end_node,
Path< GT > &  path 
)
inline

Invoca a la búsqueda de camino en profundidad.

Parámetros
[in]gel grafo sobre el cual se desea buscar el camino.
[in]start_nodepuntero al nodo inicio del camino.
[in]end_nodepuntero al nodo destino del camino.
[out]pathel camino visto durante la búsqueda en profundidad; sólo tiene sentido si el valor de retorno es true.
Excepciones
bad_allocsi no hay memoria para continuar construyendo el camino

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

Leandro Rabindranath León