|
|
| Find_Path_Breadth_First (SA &_sa) noexcept(std::is_nothrow_copy_assignable< SA >::value) |
| |
|
| Find_Path_Breadth_First (SA &&_sa=SA()) noexcept(std::is_nothrow_constructible< SA >::value and std::is_nothrow_copy_assignable< SA >::value) |
| |
| template<class Op > |
| Path< GT > | operator() (const GT &g, typename GT::Node *start, Op &op) |
| |
|
template<class Op > |
| Path< GT > | operator() (const GT &g, typename GT::Node *start, Op &&op) |
| |
| bool | operator() (const GT &g, typename GT::Node *start, typename GT::Node *end, Path< GT > &path) |
| |
| Path< GT > | operator() (const GT &g, typename GT::Node *start, typename GT::Node *end) |
| |
template<class GT, template< typename, class > class Itor = Node_Arc_Iterator, class SA = Dft_Show_Arc<GT>>
class Aleph::Find_Path_Breadth_First< GT, Itor, SA >
Busca en amplitud un camino entre un par de nodos.
Find_Path_Breadth_First busca en amplitud un camino entre start_node y end_node, a la vez que va construyendo un camino hacia el nodo destino. Si 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:
- GT: el tipo de grafo, el cual debe ser derivado de List_Graph
- 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
- See also
- find_path_depth_first()
-
dijkstra_min_spanning_tree() dijkstra_min_path()
-
bellman_ford_min_spanning_tree() q_bellman_ford_min_spanning_tree()