Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estructuras de Datos
CCPG1006
MATRIZ DE CAMINOS
A B C D E
A
B
mAdyacencia : A =
C
D
E
• Entre Vi y Vj puede haber camino
• Directo, cuando A[i][j] == 1, camino de long. 1
• O pasando por otros vértices
• Si solo analizamos pasar por un Vk extra
• Cuando A[i][k] == 1 && A[k][j] == 1, long. 2
• Si Vk puede ser V1 o V2 o … Vn, realmente se tiene:
(A[i][1] && A[1][j]) || (A[i][2] && A[2][j]) || … (A[i][n] && A[n][j])
MATRIZ DE CAMINOS UN POSIBLE ALGORITMO
A camino de long. 1
A2 = A * A camino de long. 2
A3 = A2 * A camino de long. 3
……
Debemos encontrar Pn
– Sabiendo que Pk[i][j] es 1 si
• Pk-1[i][j] es 1 o En cada paso se incorpora un nuevo vértice, a
los anteriores para poder formar camino.
• Pk-1[i][k] && Pk-1[k][j]
• En otras palabras:
A B C D E
A 0 1 0 0 0
1, si Pk - 1[i][j] (Pk - 1[i][k] Pk - 1[k][j]) B 0 0 1 0 1
Pij
0, si no C 1 1 0 0 0
D 1 1 0 0 1
0 0 0 0 0
E
WARSHALL IMPLEMENTADO
A B C D E
A 0 1 1 0 1
B 0 0 1 0 1
C 1 1 1 0 1
D 1 1 1 0 1
0 0 0 0 0
E
A B C D E
A 1 1 1 0 1
B 1 1 1 0 1
C 1 1 1 0 1
D 1 1 1 0 1
E 0 0 0 0 0
WARSHALL IMPLEMENTADO
A B C D E
A 1 1 1 0 1
B 1 1 1 0 1
C 1 1 1 0 1
D 1 1 1 0 1
E 0 0 0 0 0
1 1 1 0 1
1 1 1 0 1
P= 1 1 1 0 1
1 1 1 0 1
0 0 0 0 0
CAMINOS MAS CORTOS
1. Se crea una lista de VDis con todos los vértices del grafo,
y cada VDis creado se guarda en una lista
2. Se saca de la lista el menor VDis por distancia(vmenor)
3. Por cada VDis v de la lista, se revisa:
Si su vértice es adyacente al vértice de vmenor y si
pasando por vmenor se puede conseguir una mejor
distancia. Si es así, se modifica v con los nuevos datos
4. Se repite todo desde el paso 2 hasta que no haya nada en
la lista
DIKSTRA V1 V2 V3 V4 V5 V6
Ultimo: V1 V V1 V1
V1 V1 V1
De V1 AL RESTO
V1 V2 V3 V4 V5 V6
V2 V5
3 5
3 0 3 4 12 7 10
8 Distancia:
V6
V1 7 Ultimo: V1 V1 V1 V6 V3 V5
3
4 V3 V4 2
CAMINOS MAS CORTOS ENTRE TODOS LOS
PARES DE VERTICES
D=
0 0 0 0 0
1 1 1 1 1
C= 2 2 2 2 2
D=
3 3
0 3 3 3
4 4 4 4 4
FLOYD - WARSHALL
D=
0 0 0 1 1
1 1 1 1 1
C= 2 2 2 1 2 D=
3 0 3 3 3
4 4 4 4 4
FLOYD - WARSHALL
D=
0 0 0 1 3
3 1 1 1 3
C= 2 2 2 1 2 D=
3 0 3 3 3
3 3 4 4 4
ARBOL DE EXPANSION DE COSTE MINIMO
• Dado un grafo G
– No dirigido
– Valorado, con pesos no negativos
• El árbol de expansión mínima
– Es un grafo parcial conexo a partir de G
– Tal que la suma de sus aristas sea mínima
• Ejemplo de aplicación
– Redes de comunicaciones, de costo mínimo
ALGORITMO DE PRIM
Desde 1
1 2
1 2 3
6 4
4 6
5
4 3 5 8 6
7
4 3
W= 1 ,2 ,3 ,4 ,5 ,7 ,6
EJEMPLO
1 2
1 2 3
4 3 5 6
4 3
W= 1 ,2 ,3 ,4 ,5 ,7 ,6
EJERCICIO PRIM
ALGORITMO DE KRUSKAL
1 1 2 2 3 1 2 3
6 5
4 4 6
3 8
4 5 6 4 5 6
7
4 3
7 7
KRUSKAL
EJERCICIO ARBOL DE EXPANSION DE COSTE
MINIMO