diff --git a/slides/cours_24.md b/slides/cours_24.md
index c4d1785e971b77165fbaa664cd7326ff190c92b8..adbb812925cd8729e78cd88e80acaceb968ae141 100644
--- a/slides/cours_24.md
+++ b/slides/cours_24.md
@@ -404,8 +404,8 @@ si distance(u,v) > distance(u,w) + distance(w,v)
 tab dijkstra(graph, s, t)
     pour chaque v dans graphe
         distance[v] = infini
-        q = ajouter(q, v) // q est une liste
     distance[s] = 0
+    q = ajouter(q, s) // q est une liste
     tant que non_vide(q)
     // sélection de u t.q. la distance dans q est min
         u = min(q, distance)
@@ -443,14 +443,14 @@ tab dijkstra(graph, s, t)
 tab, tab dijkstra(graph, s, t)
     pour chaque v dans graphe
         distance[v] = infini
-        precedent[v] = indéfini
-        q = ajouter(q, v)
+        precedent[v] = indéfini     
     distance[s] = 0
+    q = ajouter(q, s)
     tant que non_vide(q)
     // sélection de u t.q. la distance dans q est min
         u = min(q, distance) 
         si u == t
-            retourne distance
+            retourne distance, precedent
         q = remove(q, u)
         // voisin de u encore dans q
         pour chaque v dans voisinage(u, q) 
@@ -571,15 +571,17 @@ data, element defiler(element)
 
 ```C
 distance, precedent dijkstra(graphe, s, t):
-    distance[source] = 0
     fp = file_p_vide()
+    distance[s] = 0
     pour v dans sommets(graphe)
         si v != s
             distance[v] = infini
-            precedent[v] = indéfini
+        precedent[v] = indéfini
         fp = enfiler(fp, v, distance[v])
     tant que !est_vide(fp)
         u, fp = defiler(fp)
+        si u == t
+            retourne distance, precedent
         pour v dans voisinage de u
             n_distance = distance[u] + w(u, v)
             si n_distance < distance[v]
@@ -595,20 +597,22 @@ distance, precedent dijkstra(graphe, s, t):
 
 ```C
 distance dijkstra(graphe, s, t)
----------------------------------------------------------
-    pour v dans sommets(graphe)
-O(V)    si v != s
+--------------------O(V*V)--------------------------------
+    distance[s] = 0
+    fp = file_p_vide()
+    pour v dans sommets(graphe) // O(|V|)
+        si v != s
             distance[v] = infini
-O(V)        fp = enfiler(fp, v, distance[v]) // notre impl est nulle
+        fp = enfiler(fp, s, distance[s]) // O(|V|)
 ------------------O(V * V)-------------------------------
     tant que !est_vide(fp)
-O(1)    u, fp = defiler(fp)
+        u, fp = defiler(fp) // O(1)
 ---------------------------------------------------------
-O(E)    pour v dans voisinage de u
+        pour v dans voisinage de u // O(|E|)
             n_distance = distance[u] + w(u, v)
             si n_distance < distance[v]
                 distance[v] = n_distance
-O(V)            fp = changer_priorite(fp, v, n_distance)
+                fp = changer_priorite(fp, v, n_distance) // O(|V|)
 ---------------------------------------------------------
     retourne distance
 ```