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 Test_Connectivity< GT, SA >

#include <tpl_test_connectivity.H>

Métodos públicos

bool operator() (GT &g, SA &&sa=SA()) const
 
bool operator() (GT &g, SA &sa) const
 

Descripción detallada

template<class GT, class SA = Dft_Show_Arc<GT>>
class Test_Connectivity< GT, SA >

Determina si un grafo g es conexo.

Esta clase realiza una prueba de conectividad del grafo g. La prueba apela a un recorrido en profundidad.

La clase verifica la cantidad de arcos. Si esta cantidad es menor que el número de nodos, entonces el grafo se considera inconexo.

La función 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
depth_first_traversal() is_reachable()

Documentación de las funciones miembro

template<class GT , class SA = Dft_Show_Arc<GT>>
bool Test_Connectivity< GT, SA >::operator() ( GT &  g,
SA &&  sa = SA() 
) const
inline

Invoca a la prueba de conectividad.

Esta versión se emplea cuando se requiera que el filtro de arcos mantenga un estado.

Parámetros
[in]gel grafo o digrafo a verificar.
[in]sael filtro de arcos del grafo.
Devuelve
true si el grafo es conexo; false de lo contrario.
Nota
Debido a la prueba con el número de arcos, esta función es incorrecta para multigrafos.
Excepciones
domain_errorsi la rutina es invocada sobre un digrafo.
template<class GT , class SA = Dft_Show_Arc<GT>>
bool Test_Connectivity< GT, SA >::operator() ( GT &  g,
SA &  sa 
) const
inline

Invoca a la prueba de conectividad.

    Esta versión se emplea cuando se requiera que el filtro de arcos
    mantenga un estado.

    @param[in] g el grafo o digrafo a verificar.
    \param[in] sa el filtro de arcos del grafo.
    @return true si el grafo es conexo; false de lo contrario.
    @note Debido a la prueba con el número de arcos, esta función
    es incorrecta para multigrafos.
    @throw domain_error si la rutina es invocada sobre un digrafo.

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

Leandro Rabindranath León