Está en la página 1de 8

UNIVERSIDAD DE COSTA RICA

ESCUELA DE CIENCIAS DE LA COMPUTACIÓN E INFORMÁTICA


CI-1204 ESTRUCTURAS DISCRETAS
PROF. M.SC. KRYSCIA DAVIANA RAMÍREZ BENAVIDES

PRÁCTICA TEORÍA DE GRAFOS

Grafos Dirigidos

Figura #1

1. Represente el grafo de la Figura #1 con una matriz de adyacencia, una matriz de


adyacencia etiquetada y una lista de adyacencia.
2. Utilice el algoritmo de Dijkstra para encontrar las distancias más cortas entre el
vértice 1 y los demás vértices del grafo de la Figura #1 y, construya la matriz P que
permite recuperar los caminos más cortos. Dibuje el grafo resultante de los
caminos más cortos para el vértice 1.
3. Utilice el algoritmo de Floyd para encontrar las distancias más cortas entre todos
los pares de vértices del grafo de la Figura #1 y, construya la matriz P que permite
recuperar los caminos más cortos. Dibuje el grafo para los caminos más cortos para
el vértice 6.
4. Del ejercicio anterior obtenga la Cerradura Transitiva y la Excentricidad del
grafo de la Figura #1, indique ¿cuál es el centro del grafo?
5. Realice el recorrido de Búsqueda por Anchura para el grafo da la Figura #1
empezando en el vértice 1 y siguiendo el orden numérico. Recuerde señalar e
indicar los diferentes arcos para construir el Bosque Abarcador por Anchura.
6. Realice el recorrido de Búsqueda por Profundidad para el grafo da la Figura #1
empezando en el vértice 1 y siguiendo el orden numérico. Recuerde señalar e
indicar los diferentes arcos para construir el Bosque Abarcador por Profundidad.
Solución

1. Representaciones del grafo


1 2 3 4 5 6 1 2 3 4 5 6
1 0 1 1 0 0 0 1   10 5   
0 0 0 0 1 0 2  
2        30 
3 0 1 0 0 1 1 3   10   15 10
   
4 1 0 1 0 0 0 4 60  25   
5 0 0 0 0 0 0 5      
   
6 
0 0 0 1 1 0     20 20
6  

Matriz de Adyacencia Matriz de Adyacencia Etiquetada

Lista de Adyacencia

2. Algoritmo de Dijkstra
Iteració S w D[2] D[3] D[4] D[5] D[6]
n
Inicial {1} --- 10 5   
1 {1,3} 3 10 5  20 15
2 {1,3,2} 2 10 5  20 15
3 {1,3,2,6} 6 10 5 35 20 15
4 {1,3,2,6,5} 5 10 5 35 20 15
5 {1,3,2,6,5,4} 4 10 5 35 20 15

1 2 3 4 5 6
Matriz P
1 0 0 0 6 3 3

Caminos más cortos iniciando en 1


3. Algoritmo de Floyd
1 2 3 4 5 6
1  0 10 5 35 20 15 
2 
  0   30  
3 90 10 0 30 15 10 
 
4 60 35 25 0 40 35
5     0 
 
6 
80 55 45 20 20 0
1 2 3 4 5 6
1  0 0 0 6 3 3
2 
 0 0 0 0 0 0

3  6 0 0 6 0 0
 
4  0 3 0 0 3 3
5  0 0 0 0 0 0
 
 4 4 4 0 0 0
6  
Caminos más cortos entre pares de vértices Matriz P

Caminos más cortos iniciando en 6

4. Algoritmo de Marshall
1 2 3 4 5 6 1 2 3 4 5 6
1 0 1 1 1 1 1 1 0 10 5 35 20 15 
2 
0 0 0 0 1 0 2 
 0   30   
3 1 1 0 1 1 1 3 90 10 0 30 15 10 
   
4 1 1 1 0 1 1 4 60 35 25 0 40 35
5 0 0 0 0 0 0 5     0 
   
1
6  1 1 1 1 0 80
6  
55 45 20 20 0 
Cerradura Transitiva Excentricidad     40 
Centro del grafo

5. Búsqueda en Anchura y Bosque Abarcador por Anchura


6. Búsqueda en Profundidad y Bosque Abarcador por Profundidad

Grafos No Dirigidos

Figura #2

1. Represente el grafo de la Figura #2 con una matriz de adyacencia, una matriz de


adyacencia etiquetada y una lista de adyacencia.
2. Aplique el algoritmo del camino más corto para llegar del vértice A al vértice E
del grafo de la Figura #2, dibuje como quedó el grafo al final.
3. Utilice el algoritmo de Prim para hallar el Árbol Abarcador de Costo Mínimo
del grafo de la Figura #2 empezando en el vértice A y siguiendo el orden
alfabético.
4. Utilice el algoritmo de Kruskal para hallar el Árbol Abarcador de Costo
Mínimo del grafo de la Figura #2 empezando en el vértice A y siguiendo el orden
alfabético.
5. Realice el recorrido de Búsqueda por Anchura para el grafo da la Figura #2
empezando en el vértice A y siguiendo el orden alfabético. Recuerde señalar e
indicar los diferentes arcos para construir el Bosque Abarcador por Anchura.
6. Realice el recorrido de Búsqueda por Profundidad para el grafo da la Figura #2
empezando en el vértice A y siguiendo el orden alfabético. Recuerde señalar e
indicar los diferentes arcos para construir el Bosque Abarcador por Profundidad.
Solución

1. Representaciones del grafo


A B C D E F G A B C D E F G
A 0 1 0 0 0 1 1 A  3    8 4
1 0 1 1 0 0 0 B  2 13    
B   3  
C 0 1 0 1 1 0 0 C  2  3 15   
   
D 0 1 1 0 1 1 0 D   13 3  1 2 
E 0 0 1 1 0 1 0 E   15 1  4  
   
F 1 0 0 1 1 0 1 F 8   2 4  1
1 0 0 0 0 1 0 G     1 
G   4  
Matriz de Adyacencia Matriz de Adyacencia Etiquetada

Lista de Adyacencia

2. Algoritmo del Camino más Corto

D[ A]  0
D[ B ]  3
D[C ]  5
D[ D]  7
D[ E ]  8
D[ F ]  5
D[G ]  4

Camino más corto que va de A a E


3. Algoritmo de Prim

U  { A, B, C , D, E , F , G}
V  U  {}
A B C D E F G
M [5] * * * * * * * 
D[5] 0 3 2 3 1 2 1 

P[5] 0 A B C D D F  

Árbol abarcador de costo mínimo

4. Algoritmo de Kruskal
Costo Aristas
1 (D,E) – (F,G)
2 (B,C) – (D,F)
3 (A,B) – (C,D)
4 (A,G) – (
8 (A,F)
13 (B,D)
15 (C,E)

Árbol abarcador de costo mínimo

5. Búsqueda en Anchura y Bosque Abarcador por Anchura


6. Búsqueda en Profundidad y Bosque Abarcador por Profundidad

También podría gustarte