Algorithme de Dijkstra
L’algorithme de Dijkstra est un outil de détermination d’une plus courte chaîne d’un
graphe pondéré entre deux sommets (A et E dans l’exemple étudié).
Exemple
Méthode simplifiée pour appliquer l’algorithme
de Dijkstra.
1. Étape d’initialisation,
Dans un tableau, quand c’est possible, on place le sommet du départ A à la première colonne (début) et le
sommet d’arrivée E dans la dernière colonne (à la fin).
-Ligne 1 : On fixe le poids du sommet A à 0 (Sommet du départ)
- On marque provisoirement les autres sommets du poids par ∞.
A B C D E Sommet fixé de son poids
0∞ ∞ ∞ ∞ A(0)
2. Étapes d’itérations.
- On marque provisoirement chaque sommet adjacent à A du poids de l’arête reliant A à ce sommet. Ces
sommets sont des successeurs de A.
-Ligne 2 : Pour aller du sommet A au sommet B, il faut un poids de 3. On le le note 3A.
De même, pour aller du sommet A au sommet C, il faut un poids de 5. On le le note 5A.
On repère le chemin le plus court, ici 3Aet on marque définitivement ce sommet B du poids 3à la fin de
cette ligne (B(3)).
-Ligne 3 : Le sommet B est relié ensuite aux sommets C et D. On additionne les poids pour aller à chaque
sommet. Ainsi, On obtient 4Bet 5B.
On repère le chemin le plus court, ici 4B, on barre 5Aet on marque définitivement ce sommet C du poids 4
à la fin de cette ligne (C(4)).
- On réitère le procédé tant que l’arrivée au sommet En’est pas fixée. On arrête l’itération lorsque tous
les sommets ont été traités.
A B C D E Sommet fixé
0∞ ∞ ∞ ∞ A(0)
|3A5A∞ ∞ B(3)
| | 6 5Aet 4B5B∞C(4)
| | | 5Bet 66C7CD(5)
| | | | 7Cet 7DE(7)
Conclusion :
A la fin de chaque algorithme de Dijkstra, on définit le ou les chemins les plus courts.
Il y a deux chaînes courtes pour aller de A à E de même poids 7.
On lit à l’envers A(0) ⇐=B(3) ⇐=D(5) ⇐=E(7) , d’où la chaîne A - B - D - E
A(0) ⇐=B(3) ⇐=C(4) ⇐=E(7) , d’où la chaîne A - B - C - E
∀M K T ES Spemaths 2016−2017 2/2Ch4- Dijkstra