#include <Bellman_Ford.H>
Métodos públicos | |
bool | operator() (GT &g, DynArray< typename GT::Node * > &pred, DynArray< typename GT::Arc * > &arcs, Path< GT > &cycle) const |
Busca un ciclo negativo según los resultados parciales de algoritmo de Bellman-Ford.
Durante la ejecución del algoritmo de Bellman-Ford para el cálculo de un árbol abarcador de todos los caminos mínimo, se emplean dos arreglos, uno de nodos y otros de arcos.
La clase Search_Cycle examina los arreglos empleados por el algoritmo de Bellman-Ford y determina si el grafo contiene o no.
Eventualmente la clase puede emplearse, independientemente del algoritmo de Bellman-Ford, sobre los arreglos (a condición de que sean válidos) para detectar si existe o no un ciclo y calcularlo.
|
inline |
Invoca al cálculo del ciclo sobre un grafo.
[in] | g | el grafo sobre el cual se calcula un árbol abarcador de todos los caminos mínimos. |
[in] | pred | arreglo de nodos padre del árbol abarcador. |
[in] | arcs | arreglo de arcos que conforman el árbol abarcador. |
[out] | cycle | un ciclo negativo contenido en g. El valor de cycle sólo tiene sentido si el grafo en efecto contiene un ciclo. |
bad_alloc | si no hay suficiente memoria para construir las estructuras alternas de cálculo. |