diff --git a/slides/cours_26.md b/slides/cours_26.md index 4fcb4de1293f930db7a1df254c82949e01369c51..490d6f323f5bc94b8b0fd4020839ad5177ffadab 100644 --- a/slides/cours_26.md +++ b/slides/cours_26.md @@ -17,22 +17,27 @@ patat: # Questions -* Qu'est-ce qu'un graphe? Un graphe orienté? Un graphe pondéré? +* A quoi sert l'algorithme de Dijkstra? . . . -* Ensemble de sommets et arêtes, avec une direction, possédant une pondération. -* Comment représenter un graphe informatiquement? +* A trouver le plus court chemin entre un sommet, $s$, d'un graphe pondéré et tous les autres sommets. +* Quelle est la limitation de l'algorithme de Dijkstra? . . . -* Liste ou matrice d'adjacence. -* Quels sont les deux parcours que nous avons vus? +* Les poids doivent être positifs. +* Résumer les étapes de l'algorithme de Dijkstra. . . . -* Parcours en largeur et profondeur. -* Donner l'idée générale des deux parcours. +* `distance[source] = 0`, `ditance[reste]=inf`; +* enfiler tous les sommets, `distance <=> priorité`; +* tant qu'il y a des sommets dans la file: + * u = défiler; + * pour tous les sommets `v` dans le voisinage de `u`; + * mettre à jour `distance[v]` (priorité et précédence) si `distance[v] > distance[u] + w(u,v)`. + # Plus cours chemin pour toute paire de sommets