diff --git a/slides/cours_24.md b/slides/cours_24.md
index 5dcea3696cb3d4b5cc24439b9abc037069ba60c8..0f87f7888984065c9f9a3575b0388fcd84229ca8 100644
--- a/slides/cours_24.md
+++ b/slides/cours_24.md
@@ -19,7 +19,7 @@ patat:
 
 **Un mini-peu d'histoire...**
 
-## L. Euler, les 7 ponts de Koenigsberg:
+## L. Euler et les 7 ponts de Koenigsberg:
 
 * Existe-t-il une promenade sympa, passant **une seule fois** par les 7 ponts et revenant au point de départ?
 
@@ -492,7 +492,7 @@ $$
 * Dans la majorité des cas, les grands graphes sont peu denses.
 * Comment représenter un graphe autrement?
 
-# La liste d'adjacence
+# La liste d'adjacence (non-orienté)
 
 * Pour chaque sommet $v\in V$, stocker les sommets adjacents à $v$-
 * Quelle structure de données pour la liste d'adjacence?
@@ -526,3 +526,285 @@ $$
 
 :::
 
+# La liste d'adjacence (orienté)
+
+
+::: columns
+
+:::: column
+
+## Quelle liste d'adjacence pour...
+
+* Matrix (2min)
+
+```{.mermaid format=pdf width=400 loc=figs/}
+graph LR;
+    0-->1;
+    0-->2;
+    1-->2;
+    3-->0;
+    3-->1;
+    3-->2;
+```
+
+::::
+
+:::: column
+
+```
+
+
+
+
+
+
+
+
+
+
+
+```
+
+
+::::
+
+:::
+
+# Complexité
+
+## Stockage
+
+* Quelle espace est nécessaire pour stocker une liste d'adjacence (en fonction de $|E|$ et $|V|$)?
+
+. . .
+
+$$
+\mathcal{O}(|E|)
+$$
+
+* Pour les graphes *non-orientés*: $\mathcal{O}2|E|$.
+* Pour les graphes *orientés*: $\mathcal{O}|E|$.
+
+## Définition
+
+* Le **degré** d'un sommet $v$, est le nombre d'arêtes incidentes du sommet (pour les graphes non-orientés on a un degré entrant ou sortant).
+* Comment on retrouve le degré de chaque sommet avec la liste d'adjacence?
+
+. . .
+
+* C'est la longueur de la liste chaînée.
+
+
+# Parcours
+
+* Beaucoup d'applications nécessitent de parcourir des graphes:
+    * Trouver un chemin d'un sommet à un autre;
+    * Trouver si le graphe est connexe;
+* Il existe *deux* parcours principaux:
+    * en largeur;
+    * en profondeur.
+* Ces parcours créent *un arbre* au fil de l'exploration (si le graphe est non-connexe cela crée une *forêt*, un ensemble d'arbres).
+
+# Illustration: parcours en largeur
+
+![Le parcours en largeur.](figs/parcours_larg.pdf){width=80%}
+
+# Exemple
+
+## Étape par étape (blanc non-visité)
+
+![Initialisation.](figs/parcours_larg_0.pdf){width=50%}
+
+## Étape par étape (gris visité)
+
+![On commence en `x`.](figs/parcours_larg_1.pdf){width=50%}
+
+# Exemple
+
+## Étape par étape
+
+![On commence en `x`.](figs/parcours_larg_1.pdf){width=50%}
+
+## Étape par étape (vert à visiter)
+
+![Vister `w`, `t`, `y`.](figs/parcours_larg_2.pdf){width=50%}
+
+# Exemple
+
+## Étape par étape
+
+![Vister `w`, `t`, `y`.](figs/parcours_larg_2.pdf){width=50%}
+
+## Étape par étape
+
+![`w`, `t`, `y` visités. `u`, `s` à visiter.](figs/parcours_larg_3.pdf){width=50%}
+
+# Exemple
+
+## Étape par étape
+
+![`w`, `t`, `y` visités. `u`, `s` à visiter.](figs/parcours_larg_3.pdf){width=50%}
+
+## Étape par étape
+
+![`u`, `s`, visités. `r` à visiter.](figs/parcours_larg_4.pdf){width=50%}
+
+# Exemple
+
+## Étape par étape
+
+![`u`, `s`, visités. `r` à visiter.](figs/parcours_larg_4.pdf){width=50%}
+
+## Étape par étape
+
+![`r` visité. `v` à visiter.](figs/parcours_larg_5.pdf){width=50%}
+
+# Exemple
+
+## Étape par étape
+
+![`r` visité. `v` à visiter.](figs/parcours_larg_5.pdf){width=50%}
+
+## Étape par étape
+
+![The end. Plus rien à visiter!](figs/parcours_larg_6.pdf){width=50%}
+
+# En faisant ce parcours...
+
+
+::: columns
+
+:::: column
+
+## Du parcours de l'arbre
+
+![](figs/parcours_larg_6.pdf){width=100%}
+
+::::
+
+:::: column
+
+## Quel arbre est créé par le parcours (2min)?
+
+. . .
+
+```{.mermaid format=pdf width=400 loc=figs/}
+graph LR;
+    0[x]-->1[w];
+    0-->2[t];
+    0-->3[y];
+    2-->9[u];
+    1-->4[s];
+    4-->5[r];
+    5-->6[v];
+```
+
+::::
+
+:::
+
+## Remarques
+
+* Le parcours dépend du point de départ dans le graphe.
+* L'arbre sera différent en fonction du noeud de départ, et de l'ordre de parcours des voisins d'un noeud.
+
+# Le parcours en largeur
+
+## L'algorithme, idée générale (3min, matrix)?
+
+. . .
+
+```C
+v = un sommet du graphe
+i = 1
+pour sommet dans graphe et sommet non-visité
+    visiter(v, sommet, i) // marquer sommet à distance i visité 
+    i += 1
+```
+
+## Remarque
+
+* `i` est la distance de plus cours chemin entre `v` et les sommets en cours de visite.
+
+
+# Le parcours en largeur
+
+## L'algorithme, pseudo-code (3min, matrix)?
+
+* Comment garder la trace de la distance?
+
+. . .
+
+* Utilisation d'une **file**
+
+. . .
+
+```C
+initialiser(graphe) // tous sommets sont non-visités
+file = visiter(sommet) // sommet est un sommet du graphe au hasard
+tant que !est_vide(file)
+    v = défiler(file)
+    file = visiter(u)
+```
+
+## Que fait visiter?
+
+```
+file visiter(sommet)
+    sommet = visité
+    pour w = chaque arête de sommet
+        si w != visité
+            file = enfiler(file, w)
+    retourne file
+```
+
+# Exercice (5min)
+
+## Appliquer l'algorithme sur le graphe
+
+![](figs/parcours_larg_0.pdf){width=50%}
+
+* En partant de `v`, `s`, ou `u` (par colonne de classe).
+* Bien mettre à chaque étape l'état de la file.
+
+# Complexité du parcours en largeur
+
+## Étape 1
+
+* Extraire un sommet de la file;
+
+## Étape 2
+
+* Traîter tous les sommets adjacents.
+
+## Quelle est la coplexité?
+
+. . .
+
+* Étape 1: $\mathcal{O}(|V|)$,
+* Étape 2: $\mathcal{O}(2|E|)$,
+* Total: $\mathcal{O}(|V| + |2|E|)$.
+
+# Exercice
+
+* Établir la liste d'adjacence et appliquer l'algorithme de parcours en largeur au graphe
+
+```{.mermaid format=pdf width=400 loc=figs/}
+graph LR;
+    1---2;
+    1---3;
+    1---4;
+    2---3;
+    2---6;
+    3---6;
+    3---4;
+    3---5;
+    4---5;
+```
+
+
+# Illustration: parcours en profondeur
+
+![Le parcours en profondeur. À quel parcours d'arbre cela ressemble-t-il?](figs/parcours_prof.pdf){width=80%}
+
+
diff --git a/slides/figs/parcours_larg_0.pdf b/slides/figs/parcours_larg_0.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..ebcfe173b215f594ff61bb6699530338daa8bddd
Binary files /dev/null and b/slides/figs/parcours_larg_0.pdf differ
diff --git a/slides/figs/parcours_larg_1.pdf b/slides/figs/parcours_larg_1.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..9cf62a943e8275c254580965db2e606af414b29d
Binary files /dev/null and b/slides/figs/parcours_larg_1.pdf differ
diff --git a/slides/figs/parcours_larg_2.pdf b/slides/figs/parcours_larg_2.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..3bb12226cb5e56aeaa113e49aa19ed4bdff7209d
Binary files /dev/null and b/slides/figs/parcours_larg_2.pdf differ
diff --git a/slides/figs/parcours_larg_3.pdf b/slides/figs/parcours_larg_3.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..760e4f85347ad413917e2bfb4a5834c60d0d68aa
Binary files /dev/null and b/slides/figs/parcours_larg_3.pdf differ
diff --git a/slides/figs/parcours_larg_4.pdf b/slides/figs/parcours_larg_4.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..f72eca842d5f5ad7a8971ffac255ddc3dde799a0
Binary files /dev/null and b/slides/figs/parcours_larg_4.pdf differ
diff --git a/slides/figs/parcours_larg_5.pdf b/slides/figs/parcours_larg_5.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..47639cf66341094f8ace8d49da4fcd65cd9c4335
Binary files /dev/null and b/slides/figs/parcours_larg_5.pdf differ
diff --git a/slides/figs/parcours_larg_6.pdf b/slides/figs/parcours_larg_6.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..b45351eed368e06656de80228f703efd8c1e6b0a
Binary files /dev/null and b/slides/figs/parcours_larg_6.pdf differ