SlideShare una empresa de Scribd logo
3
Lo más leído
4
Lo más leído
7
Lo más leído
ESTRUCTURA DE DATOS II RECORRIDOS DE GRAFOS  UNIVERSIDAD AUTONOMA GABRIEL RENE MORENO FACULTAD DE CIENCIAS EXACTAS Y TECNOLOGIA PROFESOR: Ing. Evans  Balcazar Veizaga
Recorridos en Grafos:  Recorrer un grafo significa tratar de alcanzar todos los nodos que estén relacionados con uno que llamaremos nodo de salida.    Existen básicamente dos  técnicas  para recorrer un grafo: el recorrido en anchura y el recorrido en profundidad.  Así, para recorrer un grafo consiste en visitar todos los vértices alcanzables a partir de uno dado. Hay dos formas. Recorrido en profundidad (DFS). Recorrido en anchura (BFS).
Recorrido en Profundidad (DFS) :  Trata de buscar los caminos que parten desde el nodo de salida hasta que ya no es posible avanzar más. Cuando ya no puede avanzarse más sobre el camino elegido, se vuelve atrás en busca de caminos alternativos, que no se estudiaron previamente. La búsqueda en profundidad empieza por un vértice V. del grafo G; V no visitado; así hasta que no haya mas vértices adyacentes no visitados.
Ejemplo de DFS :  Analice el siguiente grafo y realice el recorrido primero en profundidad: Grafo =>   DFS(50)=50,17,12,9,14,23,19,72,54,67,76
Recorrido en Anchura (BFS) :  Supone recorrer el grafo, a partir de un nodo dado, en niveles, es decir, primero los que están a una distancia de un arco del nodo de salida, después los que están a dos arcos de distancia, y así sucesivamente hasta alcanzar todos los nodos a los que se pudiese llegar desde el nodo salida. Este método comienza visitando el vértice de partida A, para continuación visitar los adyacentes que no estuvieron ya visitados. Así sucesivamente con los adyacentes. Este método utiliza una cola como estructura auxiliar en la que se mantienen los vértices que se vayan a procesar posteriormente.
Ejemplo de BFS :  Analice el siguiente grafo y realice el recorrido primero en anchura: Grafo =>   DFS(50)=50,17,72,12,23,54,76,9,14,19,67
Implementación de DFS :  Se utilizara una composición de la class conjunto, para llevar la cuenta de los vértices marcados: void DFS(int v) { Conjunto v; DFS(v,c); } void DFS(int v1,Conjunto c) { cout<<v1; c.insertar(v1); for( w.adyancente(v1))   if(!c.pertenece(w)) DFS(w,c); }  void DFS(int v1,Conjunto c) { cout<<v1; puntero L=V[v1]; while( L!=Tierra) {   int w=Data(L);   if(!c.pertenece(w)) DFS(w,c);  } }
Implementación de BFS :  Se utilizara una composición de la class conjunto, para llevar la cuenta de los vértices marcados: void grafo:: DFS(int v) { Conjunto v; Cola q; q.meter(v); do{ int w; q.sacar(w); if(!c.pertenece(w))//no marc { cout<<w; q.insertar(w);//marc  for(x.adyacente(w)) { if(!c.pertecene(x)) q.meter(x); } } } while(!q.vacia()) }
¿Ahora a Trabajar?
GRACIAS INF-310  Estructura de Datos II

Más contenido relacionado

PPTX
Merge sort
PPT
Algoritmos de kruskal y prim
PPTX
Teoria de grafos Euler
PDF
Grafos resueltos
PPTX
Operaciones elementales
DOCX
Aplicaciòn de las estructuras de datos
PPTX
Mtk Modul 3.2.pptx
PPTX
Grafos Y Digrafos
Merge sort
Algoritmos de kruskal y prim
Teoria de grafos Euler
Grafos resueltos
Operaciones elementales
Aplicaciòn de las estructuras de datos
Mtk Modul 3.2.pptx
Grafos Y Digrafos

La actualidad más candente (20)

PPTX
Programación 3: Grafos, representación y operaciones
PPTX
REPRESENTACION DE RELACIONES Y DIGRAFOS EN LA COMPUTADORA
PPT
Teoria de grafos. introducción
PPTX
2.1 recursividad
PDF
Graph-Struktur Data.pdf
PDF
OOP - Exception
PPTX
Mapa Conceptual de Grafos
PPTX
Graph Basic In Data structure
PPT
Ejemplo bfs
PPTX
ARBOLES BINARIOS
DOC
Ejercicios de grafos
PPT
Arboles
PPTX
Arboles Binarios y Arboles Binarios de Busqueda
PPTX
Unit I- Data structures Introduction, Evaluation of Algorithms, Arrays, Spars...
DOC
Grafos resueltos
PPT
358 33 powerpoint-slides_9-stacks-queues_chapter-9
PPTX
Estructura de Datos - Unidad 4 Estructuras no lineales
DOCX
Bab 4 bentuk aljabar
PDF
Algoritma dan Struktur Data - Insertion Sort
Programación 3: Grafos, representación y operaciones
REPRESENTACION DE RELACIONES Y DIGRAFOS EN LA COMPUTADORA
Teoria de grafos. introducción
2.1 recursividad
Graph-Struktur Data.pdf
OOP - Exception
Mapa Conceptual de Grafos
Graph Basic In Data structure
Ejemplo bfs
ARBOLES BINARIOS
Ejercicios de grafos
Arboles
Arboles Binarios y Arboles Binarios de Busqueda
Unit I- Data structures Introduction, Evaluation of Algorithms, Arrays, Spars...
Grafos resueltos
358 33 powerpoint-slides_9-stacks-queues_chapter-9
Estructura de Datos - Unidad 4 Estructuras no lineales
Bab 4 bentuk aljabar
Algoritma dan Struktur Data - Insertion Sort
Publicidad

Destacado (20)

PPT
Recorridos de Grafos
PPTX
Recorrido de anchura
PPTX
Teoria de grafos
PPTX
Búsqueda en Anchura
PPTX
Busqueda por profundidad iterativa
PPT
busqueda a profundidad dsf
PPTX
BúSqueda Primero En Anchura
DOCX
Aplicaciones de los árboles y grafos
PPTX
Teoria de Grafos. Conceptos básicos.
PPTX
Capitulo1 grafos
PPT
Dfs
PPTX
Depth-first Search
PDF
Dfs
PPTX
Bfs en grafos
PPTX
Lista de adyacencia
PPTX
PPTX
retículos propiedades y ejemplos
PPT
Recorrido de grafos 2da parte
PDF
Estrategias De BúSqueda No Informada
PPT
Reticulos, homoformismo y ejemplos
Recorridos de Grafos
Recorrido de anchura
Teoria de grafos
Búsqueda en Anchura
Busqueda por profundidad iterativa
busqueda a profundidad dsf
BúSqueda Primero En Anchura
Aplicaciones de los árboles y grafos
Teoria de Grafos. Conceptos básicos.
Capitulo1 grafos
Dfs
Depth-first Search
Dfs
Bfs en grafos
Lista de adyacencia
retículos propiedades y ejemplos
Recorrido de grafos 2da parte
Estrategias De BúSqueda No Informada
Reticulos, homoformismo y ejemplos
Publicidad

Similar a Recorrido de Grafos (20)

ODP
Bfs en grafos
ODP
Bfs en grafos
ODP
Bfs en grafos
ODP
Bfs en grafos
ODP
Bfs en grafos
ODP
Bfs en grafos
PDF
Grafos-2021.pdf
PPTX
Recorridos
PPT
Grafos
PPT
Grafos
PPT
Grafos
PPTX
Depth-first Search
PPT
elementaryAlgorithms.ppt
PPT
Tema recorridos en_grafos
PPTX
PDF
Tema9 ne
PPTX
Actividad#7,Arboles subgrupo #1
PPTX
Actividad #7 Subgrupo#1
PPTX
Grafos – recorrido
PPTX
White Creative Doodle Brainstorming Presentation.pptx
Bfs en grafos
Bfs en grafos
Bfs en grafos
Bfs en grafos
Bfs en grafos
Bfs en grafos
Grafos-2021.pdf
Recorridos
Grafos
Grafos
Grafos
Depth-first Search
elementaryAlgorithms.ppt
Tema recorridos en_grafos
Tema9 ne
Actividad#7,Arboles subgrupo #1
Actividad #7 Subgrupo#1
Grafos – recorrido
White Creative Doodle Brainstorming Presentation.pptx

Más de Evans Balcazar (20)

PPT
Matriz Sparse
PPT
ANALISIS DE ALGORITMOS
PPT
ANALISIS DE ALGORITMOS
PPT
ESTRUCTURAS DE DATOS FUNDAMENTALES
PPT
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PPT
Arboles 2-3 Insertar Eliminar
PPT
Introduccion a Arboles AVL
PPT
Insercion Arboles AVL
PPT
Arboles AVL Rotaciones
PPS
Arboles Recorridos
PPS
Arboles Ordenados
PPS
Arboles Binarios
PPT
Introduccion a Grafos 2
PPT
Introduccion a Grafos 1
PPT
Dce06 Arteaga 2007 2 Conferencia
PPT
Dce06 Arteaga 2007 1 Conferencia
PPT
Dce06 Arteaga 2007 3 Conferencia
PPT
Modelo Persistente
PPT
Modelo Simulado
PPT
Modelo Estatico
Matriz Sparse
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
ESTRUCTURAS DE DATOS FUNDAMENTALES
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
Arboles 2-3 Insertar Eliminar
Introduccion a Arboles AVL
Insercion Arboles AVL
Arboles AVL Rotaciones
Arboles Recorridos
Arboles Ordenados
Arboles Binarios
Introduccion a Grafos 2
Introduccion a Grafos 1
Dce06 Arteaga 2007 2 Conferencia
Dce06 Arteaga 2007 1 Conferencia
Dce06 Arteaga 2007 3 Conferencia
Modelo Persistente
Modelo Simulado
Modelo Estatico

Recorrido de Grafos

  • 1. ESTRUCTURA DE DATOS II RECORRIDOS DE GRAFOS UNIVERSIDAD AUTONOMA GABRIEL RENE MORENO FACULTAD DE CIENCIAS EXACTAS Y TECNOLOGIA PROFESOR: Ing. Evans Balcazar Veizaga
  • 2. Recorridos en Grafos: Recorrer un grafo significa tratar de alcanzar todos los nodos que estén relacionados con uno que llamaremos nodo de salida.    Existen básicamente dos técnicas para recorrer un grafo: el recorrido en anchura y el recorrido en profundidad. Así, para recorrer un grafo consiste en visitar todos los vértices alcanzables a partir de uno dado. Hay dos formas. Recorrido en profundidad (DFS). Recorrido en anchura (BFS).
  • 3. Recorrido en Profundidad (DFS) : Trata de buscar los caminos que parten desde el nodo de salida hasta que ya no es posible avanzar más. Cuando ya no puede avanzarse más sobre el camino elegido, se vuelve atrás en busca de caminos alternativos, que no se estudiaron previamente. La búsqueda en profundidad empieza por un vértice V. del grafo G; V no visitado; así hasta que no haya mas vértices adyacentes no visitados.
  • 4. Ejemplo de DFS : Analice el siguiente grafo y realice el recorrido primero en profundidad: Grafo => DFS(50)=50,17,12,9,14,23,19,72,54,67,76
  • 5. Recorrido en Anchura (BFS) : Supone recorrer el grafo, a partir de un nodo dado, en niveles, es decir, primero los que están a una distancia de un arco del nodo de salida, después los que están a dos arcos de distancia, y así sucesivamente hasta alcanzar todos los nodos a los que se pudiese llegar desde el nodo salida. Este método comienza visitando el vértice de partida A, para continuación visitar los adyacentes que no estuvieron ya visitados. Así sucesivamente con los adyacentes. Este método utiliza una cola como estructura auxiliar en la que se mantienen los vértices que se vayan a procesar posteriormente.
  • 6. Ejemplo de BFS : Analice el siguiente grafo y realice el recorrido primero en anchura: Grafo => DFS(50)=50,17,72,12,23,54,76,9,14,19,67
  • 7. Implementación de DFS : Se utilizara una composición de la class conjunto, para llevar la cuenta de los vértices marcados: void DFS(int v) { Conjunto v; DFS(v,c); } void DFS(int v1,Conjunto c) { cout<<v1; c.insertar(v1); for( w.adyancente(v1)) if(!c.pertenece(w)) DFS(w,c); } void DFS(int v1,Conjunto c) { cout<<v1; puntero L=V[v1]; while( L!=Tierra) { int w=Data(L); if(!c.pertenece(w)) DFS(w,c); } }
  • 8. Implementación de BFS : Se utilizara una composición de la class conjunto, para llevar la cuenta de los vértices marcados: void grafo:: DFS(int v) { Conjunto v; Cola q; q.meter(v); do{ int w; q.sacar(w); if(!c.pertenece(w))//no marc { cout<<w; q.insertar(w);//marc for(x.adyacente(w)) { if(!c.pertecene(x)) q.meter(x); } } } while(!q.vacia()) }
  • 10. GRACIAS INF-310 Estructura de Datos II