From b4f397c33885a5da37afecab6f7209c40ee8e657 Mon Sep 17 00:00:00 2001
From: "pierre.kunzli" <pierre.kunzli@hesge.ch>
Date: Tue, 22 Feb 2022 10:29:25 +0100
Subject: [PATCH] correction de l'algo de recherche de parent, mais mieux

---
 slides/cours_15.md | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/slides/cours_15.md b/slides/cours_15.md
index c95c543..2cfeaca 100644
--- a/slides/cours_15.md
+++ b/slides/cours_15.md
@@ -877,16 +877,12 @@ int arbre_size(tree_t tree) {
 ```
 arbre position(arbre, clé)
     si est_non_vide(arbre)
-        si clé < clé(arbre)
-            suivant = gauche(arbre)
-        sinon
-            suivant = droite(arbre)
         tant que clé(arbre) != clé && est_non_vide(suivant)
-            arbre = suivant
             si clé < clé(arbre)
                 suivant = gauche(arbre)
             sinon
                 suivant = droite(arbre)
+            arbre = suivant
     returne arbre
 ```
 
@@ -921,12 +917,10 @@ ajout(arbre, clé)
 tree_t position(tree_t tree, key_t key) {
     tree_t current = tree;
     if (NULL != current) {
-        tree_t subtree = key > current->key ? current->right :
-        current->left;
         while (key != current->key && NULL != subtree) {
-            current = subtree;
             subtree = key > current->key ? current->right :
             current->left;
+            current = subtree;
         }
     }
     return current;
-- 
GitLab