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_profundidad

Más contenido relacionado

PPTX
Algoritmo de Dijkstra
PDF
redes kohonen
PPT
Clustering
PPTX
Conjunto independiente máximo
PPT
332 presentacion grafos
PPTX
Programación 3: algoritmo de Prim y de Kruskal
PPTX
Busqueda Binaria
Algoritmo de Dijkstra
redes kohonen
Clustering
Conjunto independiente máximo
332 presentacion grafos
Programación 3: algoritmo de Prim y de Kruskal
Busqueda Binaria

La actualidad más candente (20)

PPTX
Tree_Definition.pptx
PDF
Árboles binarios, ABB y AVL
DOCX
Aplicaciones de los árboles y grafos
PDF
Arboles M-Way, 2-3 y 2-3-4
DOC
Ejercicios de grafos
PPTX
2nd year computer science chapter 12 notes
PDF
Introduction to Capsule Networks
PPTX
Método de Heapsort
PPTX
Ordenamiento c++
PPT
Listas Doblemente Enlazadas y Listas Circulares
PPT
Estructura datos pilas y colas
PPTX
Interpolación polinómica de lagrange
PPTX
Data Warehouse Vs Bases De Datos Transaccionales
PPT
Metodos De Ordenamiento
PPTX
Listas doblemente enlazadas
PPT
Heap sort
PDF
Diagramas de flujo 1-16
DOCX
Probabilidad y estadistica diagramas de arbol
PPTX
Algoritmo de la ecuación cuadrática
PPTX
Programación 3: tablas de dispersión
Tree_Definition.pptx
Árboles binarios, ABB y AVL
Aplicaciones de los árboles y grafos
Arboles M-Way, 2-3 y 2-3-4
Ejercicios de grafos
2nd year computer science chapter 12 notes
Introduction to Capsule Networks
Método de Heapsort
Ordenamiento c++
Listas Doblemente Enlazadas y Listas Circulares
Estructura datos pilas y colas
Interpolación polinómica de lagrange
Data Warehouse Vs Bases De Datos Transaccionales
Metodos De Ordenamiento
Listas doblemente enlazadas
Heap sort
Diagramas de flujo 1-16
Probabilidad y estadistica diagramas de arbol
Algoritmo de la ecuación cuadrática
Programación 3: tablas de dispersión
Publicidad

Destacado (6)

PPT
Dfs
PDF
Dfs
PPT
Ejemplo bfs
PPTX
Bfs en grafos
PPT
F:\PostíTulo Lenguaje\Portafolio Felipe Rozas Calabrano\Publicaciones\Texto D...
PPT
Recorrido de Grafos
Dfs
Dfs
Ejemplo bfs
Bfs en grafos
F:\PostíTulo Lenguaje\Portafolio Felipe Rozas Calabrano\Publicaciones\Texto D...
Recorrido de Grafos
Publicidad

Similar a Depth-first Search (20)

PPT
busqueda a profundidad dsf
PDF
busqueda a profundida
PDF
Dfs
PPT
Dfs
PPT
Recorridos de Grafos
PPT
elementaryAlgorithms.ppt
PPTX
Grafos – recorrido
DOCX
Inteligencia Artificial - Leonys B
PDF
Grafos-2021.pdf
ODP
Bfs en grafos
ODP
Bfs en grafos
ODP
Bfs en grafos
ODP
Bfs en grafos
ODP
Bfs en grafos
ODP
Bfs en grafos
PPTX
Exposicion de estructuras discretas
PPTX
PPTX
PPT
Tecnicas de Busqueda en IA
PPTX
Algoritmos de recorrido y búsqueda de profundidad.
busqueda a profundidad dsf
busqueda a profundida
Dfs
Dfs
Recorridos de Grafos
elementaryAlgorithms.ppt
Grafos – recorrido
Inteligencia Artificial - Leonys B
Grafos-2021.pdf
Bfs en grafos
Bfs en grafos
Bfs en grafos
Bfs en grafos
Bfs en grafos
Bfs en grafos
Exposicion de estructuras discretas
Tecnicas de Busqueda en IA
Algoritmos de recorrido y búsqueda de profundidad.

Último (20)

PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
PDF
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
DOCX
PLAN DE CASTELLANO 2021 actualizado a la normativa
DOCX
PLANES DE área ciencias naturales y aplicadas
PPTX
Presentación de la Cetoacidosis diabetica.pptx
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PDF
Atencion prenatal. Ginecologia y obsetricia
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
DOCX
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
biología es un libro sobre casi todo el tema de biología
PDF
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
PDF
TOMO II - LITERATURA.pd plusenmas ultras
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PLAN DE CASTELLANO 2021 actualizado a la normativa
PLANES DE área ciencias naturales y aplicadas
Presentación de la Cetoacidosis diabetica.pptx
V UNIDAD - SEGUNDO GRADO. del mes de agosto
Atencion prenatal. Ginecologia y obsetricia
Punto Critico - Brian Tracy Ccesa007.pdf
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
V UNIDAD - PRIMER GRADO. del mes de agosto
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
biología es un libro sobre casi todo el tema de biología
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
TOMO II - LITERATURA.pd plusenmas ultras

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