Esercizio 5.2.3
0 passi visti su 3
Consegna
Con riferimento al grafo orientato della Figura 5.2 della dispensa, con archi (1,2) 1, (1,4) 5, (2,3) 5, (2,4) 1, (2,5) 6, (2,6) 4, (3,6) 2, (4,5) 3, (5,3) 9, (5,7) 1, (6,1) 3, (7,1) 1, (7,4) 1:
- si determini l'albero dei cammini minimi a partire dal nodo 1;
- si calcolino i cammini minimi da tutti i nodi a tutti i nodi.
0Dijkstra dal nodo 1apri
I costi sono non negativi. Etichette ; il punto · indica un nodo già definitivo.
| It. | Esce | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|---|
| 0 | inizio | [0, 1] | [+∞, 0] | [+∞, 0] | [+∞, 0] | [+∞, 0] | [+∞, 0] | [+∞, 0] |
| 1 | 1 | [0, 1] | [1, 1] | [+∞, 0] | [5, 1] | [+∞, 0] | [+∞, 0] | [+∞, 0] |
| 2 | 2 | · | [1, 1] | [6, 2] | [2, 2] | [7, 2] | [5, 2] | [+∞, 0] |
| 3 | 4 | · | · | [6, 2] | [2, 2] | [5, 4] | [5, 2] | [+∞, 0] |
| 4 | 5 | · | · | [6, 2] | · | [5, 4] | [5, 2] | [6, 5] |
| 5 | 6 | · | · | [6, 2] | · | · | [5, 2] | [6, 5] |
| 6 | 3 | · | · | [6, 2] | · | · | · | [6, 5] |
| 7 | 7 | · | · | · | · | · | · | [6, 5] |
Alla quarta iterazione 5 e 6 sono alla pari con ed esce 5, di indice minore.
1Albero dei cammini minimiapri
Gli archi formano l'albero: (1,2), (2,3), (2,4), (2,6), (4,5), (5,7).
2Floyd-Warshallapri
Alla prima iterazione, , da 6 a 2 non c'è un arco ma passando per 1 si spende : e . Dopo le sette iterazioni:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
|---|---|---|---|---|---|---|---|
| 1 | 0 | 1 | 6 | 2 | 5 | 5 | 6 |
| 2 | 6 | 0 | 5 | 1 | 4 | 4 | 5 |
| 3 | 5 | 6 | 0 | 7 | 10 | 2 | 11 |
| 4 | 5 | 6 | 11 | 0 | 3 | 10 | 4 |
| 5 | 2 | 3 | 8 | 2 | 0 | 7 | 1 |
| 6 | 3 | 4 | 9 | 5 | 8 | 0 | 9 |
| 7 | 1 | 2 | 7 | 1 | 4 | 6 | 0 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 2 | 2 | 4 | 2 | 5 |
| 2 | 7 | 2 | 2 | 2 | 4 | 2 | 5 |
| 3 | 6 | 1 | 3 | 2 | 4 | 3 | 5 |
| 4 | 7 | 1 | 2 | 4 | 4 | 2 | 5 |
| 5 | 7 | 1 | 2 | 7 | 5 | 2 | 5 |
| 6 | 6 | 1 | 2 | 2 | 4 | 6 | 5 |
| 7 | 7 | 1 | 2 | 7 | 4 | 2 | 7 |
Il cammino da 3 a 5 si legge sulla riga 3 di : , , , , , cioè 3 → 6 → 1 → 2 → 4 → 5, con costo 10. La riga 1 coincide con Dijkstra.