La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Algorithme de Dijkstra

Présentations similaires


Présentation au sujet: "Algorithme de Dijkstra"— Transcription de la présentation:

1 Algorithme de Dijkstra
Correction du TD 23

2 Quel est le plus court chemin reliant A à H ?

3 On sélectionne le sommet qui a la plus faible valeur : A
On construit un tableau avec le nom de tous les sommets, et on place 0 dans le sommet A et ∞ dans les autres A B C D E F G H I J Sommet sélectionné On sélectionne le sommet qui a la plus faible valeur : A

4 On barre la colonne du sommet selectionné : A
On cherche les sommets adjacents à A : B, I et J 4 8 5 On repère leur coefficient, que l’on va ajouter à la valeur du sommet précedemment selectionné : A (0)

5 On sélectionne le sommet de plus faible valeur : B
4 8 5 A B C D E F G H I J Sommet sélectionné 0+4 4(A) 0+8 8(A) 0+5 5(A) B On rempli le tableau en additionnant la valeur précédente avec le poids de l’arête considérée. Si la valeur est plus faible que celle inscrite dans la case au dessus, on la garde, sinon on conserve la précédente. On sélectionne le sommet de plus faible valeur : B

6 5 6 A B C D E F G H I J Sommet sélectionné 0+4 4(A) 0+8 8(A) 0+5 5(A) B 4+5 9(B) 4+6 8(A) 5(A) J pour le sommet I, la nouvelle valeur (10) est plus élevée que la précédente (8) donc on garde la plus faible

7 3 A B C D E F G H I J Sommet sélectionné 0+4 4(A) 0+8 8(A) 0+5 5(A) B 4+5 9(B) 4+6 8(A) 5(A) J 9(B) 5+3 8(J) 8(A) G Lorsque 2 sommets sont de même valeur, on peut choisir celui qu’on veut ! Optons par exemple pour G

8 5 2 A B C D E F G H I J Sommet sélectionné 0+4 4(A) 0+8 8(A) 0+5 5(A) B 4+5 9(B) 4+6 8(A) 5(A) J 9(B) 5+3 8(J) 8(A) G 9(B) 8+2 10(G) 8+5 8(A) I

9 4 A B C D E F G H I J Sommet sélectionné 0+4 4(A) 0+8 8(A) 0+5 5(A) B 4+5 9(B) 4+6 8(A) 5(A) J 9(B) 5+3 8(J) 8(A) G 9(B) 8+2 10(G) 8+5 8(A) I 8+4 9(B) 10(G) C

10 6 A B C D E F G H I J Sommet sélectionné 0+4 4(A) 0+8 8(A) 0+5 5(A) B 4+5 9(B) 4+6 8(A) 5(A) J 9(B) 5+3 8(J) 8(A) G 9(B) 8+2 10(G) 8+5 8(A) I 8+4 9(B) 10(G) C 9+6 15(C) 10(G) F

11 3 2 A B C D E F G H I J Sommet sélectionné 0+4 4(A) 0+8 8(A) 0+5 5(A) B 4+5 9(B) 4+6 8(A) 5(A) J 9(B) 5+3 8(J) 8(A) G 9(B) 8+2 10(G) 8+5 8(A) I 8+4 9(B) 10(G) C 9+6 15(C) 10(G) F 15(C) (F) (F) E

12 A B C D E F G H I J Sommet sélectionné 3 0+4 4(A) 0+8 8(A) 0+5 5(A) B 4+5 9(B) 4+6 8(A) 5(A) J 9(B) 5+3 8(J) 8(A) G 9(B) 8+2 10(G) 8+5 8(A) I 8+4 9(B) 10(G) C 10(G) 9+6 15(C) F 15(C) (F) (F) E 15(C) (F) H Une fois que le sommet d’arrivée a été sélectionné dans la dernière colonne : on s’arrête

13 A B C D E F G H I J Sommet sélectionné 0+4 4(A) 0+8 8(A) 0+5 5(A) B 4+5 9(B) 4+6 8(A) 5(A) 5(A) J 9(B) 5+3 8(J) 5+3 8(J) 8(A) G 9(B) 8+2 10(G) 8+5 8(A) I 8+4 9(B) 10(G) C 9+6 15(C) 10(G) 10(G) F 15(C) (F) (F) E 13(F) 13(F) (E) H On lit le chemin à l’envers en allant vers la dernière case de la lettre entre parenthèse à partir du sommet H : A - J - G - F - H Avec un poids de 13

14 On vérifie : A-J-G-F-H avec un poids de 13
5 2 3 Facile !!!


Télécharger ppt "Algorithme de Dijkstra"

Présentations similaires


Annonces Google