#include <tpl_test_acyclique.H>
Métodos públicos | |
Has_Cycle (SA &&__sa=SA()) | |
Has_Cycle (SA &__sa) | |
bool | operator() (GT &g) const |
bool | operator() (GT &g, size_t num_arcs) const |
Determina si un grafo contiene o no ciclos.
Has_Cycle explora en profundidad en grafo g, a partir de un nodo y verifica si el grafo es acíclico; es decir, que no contenga ningún ciclo.
La clase toma dos parámetros tipo:
La clase usa el bit is_acyclique y lo reinicia al principio del algoritmo para marcar los nodos y arcos ya visitados.
|
inline |
Invoca la prueba de existencia de ciclos.
Si g es un grafo (no un digrafo) entonces el algoritmo compara la cantidad de arcos con la de nodos. Si el grafo tiene igual o más arcos que nodos, entonces se concluye que el grafo tiene ciclos. Consecuentemente, esta técnica no opera para multigrafos.
[in] | g | el grafo a probar. |
|
inline |
Invoca la prueba de existencia de ciclos.
Si g es un grafo (no un digrafo) entonces el algoritmo compara la cantidad de arcos con la de nodos. Si el grafo tiene igual o más arcos que nodos, entonces se concluye que el grafo tiene ciclos. Consecuentemente, esta técnica no opera para multigrafos.
[in] | g | el grafo a probar. |