diff --git a/slides/cours_18.md b/slides/cours_18.md
index 0b223c00d870e46f0cd10ae711576ed523247d03..823c7117d5021452c6c8b0ab5005493b8b4bae9c 100644
--- a/slides/cours_18.md
+++ b/slides/cours_18.md
@@ -3,6 +3,119 @@ title: "Arbres et tas"
 date: "2024-03-19"
 ---
 
+# Rappel: L'insertion
+
+```
+rien ajout(arbre, clé)
+    si est_vide(arbre)
+        arbre = nœud(clé)
+    sinon
+        arbre = position(arbre, clé)
+        si clé < clé(arbre)
+            gauche(arbre) = nœud(clé)
+        sinon si clé > clé(arbre)
+            droite(arbre) = nœud(clé)
+        sinon
+            retourne
+```
+
+# La suppression de clé
+
+::: columns
+
+:::: column
+
+## Cas simples: 
+
+* le nœud est absent, 
+* le nœud est une feuille
+* le nœuds a un seul fils.
+
+## Une feuille (le 19 p.ex.).
+
+```{.mermaid format=pdf width=150 loc=figs/}
+flowchart TB;
+    10-->20;
+    10-->5
+    20-->21
+    20-->19
+```
+
+::::
+
+:::: column
+
+## Un seul fils (le 20 p.ex.).
+
+```{.mermaid format=pdf width=400 loc=figs/}
+flowchart TB;
+    10-->20;
+    10-->5
+    20-->25
+    20-->18
+    25-->24
+    25-->30
+    5-->4;
+    5-->8;
+    style 18 fill:#fff,stroke:#fff,color:#fff
+```
+
+## Dans tous les cas
+
+* Chercher le nœud à supprimer: utiliser `position()`.
+
+::::
+
+:::
+
+# La suppression de clé
+
+
+::: columns
+
+:::: column
+
+## Cas compliqué
+
+* Le nœud à supprimer à (au moins) deux descendants (10).
+
+```{.mermaid format=pdf width=400 loc=figs/}
+flowchart TB;
+    10-->20;
+    10-->5
+    20-->25
+    20-->18
+    25-->24
+    25-->30
+    5-->4;
+    5-->8;
+```
+
+::::
+
+:::: column
+
+* Si on enlève 10 il se passe quoi?
+
+. . .
+
+* On peut pas juste enlever `10` et recoller...
+* Proposez une solution bon sang!
+
+. . .
+
+## Solution
+
+* Échange de la valeur à droite dans le sous-arbre de gauche ou
+  ...
+* de la valeur de gauche dans le sous-arbre de droite!
+* Puis, on retire le nœud.
+
+::::
+
+:::
+
+
 # Le pseudo-code  de la suppression
 
 ## Pour une feuille ou absent (ensemble)