SlideShare una empresa de Scribd logo
 DFS(Depth-first Search) o Búsqueda en profundidad
Una Búsqueda en profundidad es un algoritmo que permite recorrer todos los vértices de un grafo o árbol de manera ordenada, mas no uniforme.Un grafo G es un par (V, A) donde V es un conjunto finito y no vacío, cuyos elementos reciben el nombre de vértices, y A es un conjunto de arcos representados por pares no ordenados de elementos de V.
Un ejemplo de grafo sería G = ( V, A ) dado por los conjuntos:  V = {1, 2, 3, 4, 5, 6}  y   A = { {1,4}, {1,5}, {1,6}, {2,4}, {2,6}, {3,5}, {4,5} }, y cuya representación gráfica se refleja en la siguiente figura:
Un ejemplo de grafo sería G = ( V, A ) dado por los conjuntos:  V = {1, 2, 3, 4, 5, 6}  y   A = { {1,4}, {1,5}, {1,6}, {2,4}, {2,6}, {3,5}, {4,5} }, y cuya representación gráfica se refleja en la siguiente figura:
Consiste en ir expandiendo todos y cada uno de los vértices que va localizando, de forma ordenada en un camino concreto. Cuando ya no quedan más vértices que visitar en dicho camino, regresar,de modo que repite el mismo proceso con cada uno de las partes del vértice ya procesado.
ALGORITMO DFS: Sea G = (V, A) un grafo conexo, V’ = V  un conjunto de vértice, A’ un vector de arcos inicialmente vacío y P un vector auxiliar inicialmente vacío: Se introduce el vértice inicial en P y se elimina del conjunto V’.Mientras V’ no sea vacío repetir los puntos 3 y 4. En otro caso parar.Se toma el último elemento de P como vértice activo.Si el vértice activo tiene algún vértice adyacente que se encuentre en V’:Se toma el de menor índice. Se inserta en P como último elemento. Se elimina de V’. Se inserta en A’ el arco que le une con el vértice activo. Si el vértice activo no tiene adyacentes se elimina de P.
PseudocódigoDFS-Visitar(nodo u)        estado[u] ← VISITADO        tiempo ← tiempo + 1        d[u] ← tiempo      PARA CADAv ∈ Vecinos[u] HACER              SI estado[v] = NO_VISITADO ENTONCES                              padre[v] ← u DFS_Visitar(v)              estado[u] ← TERMINADO              tiempo ← tiempo + 1          f[u] ← tiempo
Planteamiento del problemaSupongamos que tenemos un árbol (dibujo) ¿Cómo recorremos sus nodos en profundidad? Siendo el 1 el nodo inicial y 7 el nodo objetivo:
  Buscaremos en todas las ramas que cuelgan, de izquierda a derecha, y exploramos cada rama hasta llegar a una hoja.    Para cada hijo buscamos a su vez en profundidad, parando cuando se encuentre el objetivo.    En este ejemplo, la secuencia a seguir está indicada por el número de los nodos: 1-> 2-> 3-> 4-> 5-> 6-> 7
Depth-first Search
Referenciashttp://www.dma.fi.upm.es/java/matematicadiscreta/busqueda/http://es.wikipedia.org/wiki/B%C3%BAsqueda_en_profundidadhttp://es.wikipedia.org/wiki/B%C3%BAsqueda_en_profundidad

Más contenido relacionado

PPTX
Depth-first Search
PPT
Mpinning Gy Alg10(Busqueda)
PPTX
00_Repaso sucesiones y series.pptx
PPTX
PPTX
Función lineal
DOCX
Actividad i
PPTX
PPTX
Bloque temático I,límite infinito
Depth-first Search
Mpinning Gy Alg10(Busqueda)
00_Repaso sucesiones y series.pptx
Función lineal
Actividad i
Bloque temático I,límite infinito

La actualidad más candente (19)

DOCX
Conjuntos
PPTX
Matematicas expo funciones
PPTX
Concepto: Límite, notación, límites laterales y existencia
PPT
Mpinning Gy Alg10(Busqueda)
PPTX
Presentación historia del concepto de limite
PDF
dominio y rango de funciones algebraicas
DOC
P1 nociones de lógica - solución
DOCX
Los 30 simbolos más comunes de matematicas
PPTX
Diapositivas:funcion lineal.
PPTX
Determinacion de un conjunto
PPTX
Progresiones aritmeticas grado 9°
DOCX
Tabla de símbolos matemáticos
PDF
PPT
Analisis iii
PDF
La Integral Definida y sus Aplicaciones ccesa007
PPTX
La parábola
PPTX
La parábola
PPT
Grafos
Conjuntos
Matematicas expo funciones
Concepto: Límite, notación, límites laterales y existencia
Mpinning Gy Alg10(Busqueda)
Presentación historia del concepto de limite
dominio y rango de funciones algebraicas
P1 nociones de lógica - solución
Los 30 simbolos más comunes de matematicas
Diapositivas:funcion lineal.
Determinacion de un conjunto
Progresiones aritmeticas grado 9°
Tabla de símbolos matemáticos
Analisis iii
La Integral Definida y sus Aplicaciones ccesa007
La parábola
La parábola
Grafos
Publicidad

Similar a Depth-first Search (20)

DOCX
Aplicaciones de los árboles y grafos
PPT
elementaryAlgorithms.ppt
PPTX
S8-EDD-4.2 Aplicaciones de árboles en informática
PPTX
Programación 3: Grafos, representación y operaciones
DOCX
Grafoscuestionario
PPTX
Presentacion
PPTX
140720444-presentacion-de-Arboles.pptx
PDF
Fundamentos de la Teoría de Grafos en Curso de Educagratis
PPTX
Diapo teoria de grafos
PDF
Grafos
PPT
PPT
PPT
PPTX
Unidad IV
PPTX
Ascii
PPT
PPTX
Aplicaciones de los árboles y grafos
elementaryAlgorithms.ppt
S8-EDD-4.2 Aplicaciones de árboles en informática
Programación 3: Grafos, representación y operaciones
Grafoscuestionario
Presentacion
140720444-presentacion-de-Arboles.pptx
Fundamentos de la Teoría de Grafos en Curso de Educagratis
Diapo teoria de grafos
Grafos
Unidad IV
Ascii
Publicidad

Último (20)

PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PDF
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
PPTX
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
PDF
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
PDF
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
PDF
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
PDF
IPERC...................................
PDF
informe tipos de Informatica perfiles profesionales _pdf
PDF
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
PDF
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
DOC
4°_GRADO_-_SESIONES_DEL_11_AL_15_DE_AGOSTO.doc
PDF
Introducción a la historia de la filosofía
DOCX
Programa_Sintetico_Fase_4.docx 3° Y 4°..
PDF
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
PDF
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
PDF
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
PPTX
Historia-Clinica-de-Emergencia-Obstetrica 1.10.pptx
PDF
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PPTX
Presentación de la Cetoacidosis diabetica.pptx
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
IPERC...................................
informe tipos de Informatica perfiles profesionales _pdf
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
4°_GRADO_-_SESIONES_DEL_11_AL_15_DE_AGOSTO.doc
Introducción a la historia de la filosofía
Programa_Sintetico_Fase_4.docx 3° Y 4°..
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
Historia-Clinica-de-Emergencia-Obstetrica 1.10.pptx
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
Presentación de la Cetoacidosis diabetica.pptx

Depth-first Search

  • 1. DFS(Depth-first Search) o Búsqueda en profundidad
  • 2. Una Búsqueda en profundidad es un algoritmo que permite recorrer todos los vértices de un grafo o árbol de manera ordenada, mas no uniforme.Un grafo G es un par (V, A) donde V es un conjunto finito y no vacío, cuyos elementos reciben el nombre de vértices, y A es un conjunto de arcos representados por pares no ordenados de elementos de V.
  • 3. Un ejemplo de grafo sería G = ( V, A ) dado por los conjuntos:  V = {1, 2, 3, 4, 5, 6}  y   A = { {1,4}, {1,5}, {1,6}, {2,4}, {2,6}, {3,5}, {4,5} }, y cuya representación gráfica se refleja en la siguiente figura:
  • 4. Un ejemplo de grafo sería G = ( V, A ) dado por los conjuntos:  V = {1, 2, 3, 4, 5, 6}  y   A = { {1,4}, {1,5}, {1,6}, {2,4}, {2,6}, {3,5}, {4,5} }, y cuya representación gráfica se refleja en la siguiente figura:
  • 5. Consiste en ir expandiendo todos y cada uno de los vértices que va localizando, de forma ordenada en un camino concreto. Cuando ya no quedan más vértices que visitar en dicho camino, regresar,de modo que repite el mismo proceso con cada uno de las partes del vértice ya procesado.
  • 6. ALGORITMO DFS: Sea G = (V, A) un grafo conexo, V’ = V  un conjunto de vértice, A’ un vector de arcos inicialmente vacío y P un vector auxiliar inicialmente vacío: Se introduce el vértice inicial en P y se elimina del conjunto V’.Mientras V’ no sea vacío repetir los puntos 3 y 4. En otro caso parar.Se toma el último elemento de P como vértice activo.Si el vértice activo tiene algún vértice adyacente que se encuentre en V’:Se toma el de menor índice. Se inserta en P como último elemento. Se elimina de V’. Se inserta en A’ el arco que le une con el vértice activo. Si el vértice activo no tiene adyacentes se elimina de P.
  • 7. PseudocódigoDFS-Visitar(nodo u) estado[u] ← VISITADO tiempo ← tiempo + 1 d[u] ← tiempo PARA CADAv ∈ Vecinos[u] HACER SI estado[v] = NO_VISITADO ENTONCES padre[v] ← u DFS_Visitar(v) estado[u] ← TERMINADO tiempo ← tiempo + 1 f[u] ← tiempo
  • 8. Planteamiento del problemaSupongamos que tenemos un árbol (dibujo) ¿Cómo recorremos sus nodos en profundidad? Siendo el 1 el nodo inicial y 7 el nodo objetivo:
  • 9. Buscaremos en todas las ramas que cuelgan, de izquierda a derecha, y exploramos cada rama hasta llegar a una hoja. Para cada hijo buscamos a su vez en profundidad, parando cuando se encuentre el objetivo. En este ejemplo, la secuencia a seguir está indicada por el número de los nodos: 1-> 2-> 3-> 4-> 5-> 6-> 7