#include <tpl_test_acyclique.H>
Métodos públicos | |
Is_Graph_Acyclique (SA &&__sa=SA()) | |
Is_Graph_Acyclique (SA &__sa) | |
bool | operator() (GT &g, size_t num_arcs) |
bool | operator() (GT &g) |
Determina si un grafo es o no acíclico (no contiene ciclos).
Is_Graph_Acyclique 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 a la prueba de aciclicidad.
Si g es un grafo (no un digrafo) entonces el algoritmo compara la cantidad de arcos con la de nodos. Si el grafo tiene menos arcos que nodos, entonces se concluye que el grafo es acíclico. Consecuentemente, esta técnica no opera para multigrafos.
[in] | g | el grafo a probar. |
num_arcs | cantidad de arcos que tiene g. Use este valor si está empleando iteradores filtros sobre arcos pintados o interpretados según un criterio dado. De este modo, la rutina conoce la cantidad de arcos que que cumplen el criterio. |
|
inline |
Invoca a la prueba de aciclicidad.
Si g es un grafo (no un digrafo) entonces el algoritmo compara la cantidad de arcos con la de nodos. Si el grafo tiene menos arcos que nodos, entonces se concluye que el grafo es acíclico. Consecuentemente, esta técnica no opera para multigrafos.
[in] | g | el grafo a probar. |