Programa C para búsqueda en profundidad o DFS para un gráfico

El primer recorrido en profundidad (o búsqueda) de un gráfico es similar al primer recorrido en profundidad de un árbol . El único inconveniente aquí es que, a diferencia de los árboles, los gráficos pueden contener ciclos, por lo que podemos volver al mismo Node. Para evitar procesar un Node más de una vez, usamos una array visitada booleana.

Por ejemplo, en el siguiente gráfico, comenzamos el recorrido desde el vértice 2. Cuando llegamos al vértice 0, buscamos todos los vértices adyacentes. 2 también es un vértice adyacente de 0. Si no marcamos los vértices visitados, entonces 2 se procesará nuevamente y se convertirá en un proceso sin terminación. Un primer recorrido en profundidad del siguiente gráfico es 2, 0, 1, 3.

Consulte esta publicación para conocer todas las aplicaciones de Depth First Traversal.
Las siguientes son implementaciones de profundidad simple primero recorrido. La implementación de C++ utiliza la representación de listas de adyacencia de gráficos. El contenedor de listas de STL se utiliza para almacenar listas de Nodes adyacentes.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *