diff --git a/slides/cours_15.md b/slides/cours_15.md index b21a81888482add1e82c76293db9dc9ddc7f4a29..3818bff7d2bf1e0f0462f48eb6f9611cddf221e1 100644 --- a/slides/cours_15.md +++ b/slides/cours_15.md @@ -398,7 +398,7 @@ droite(arbre) -> arbre (sous-arbre de droite) # Exemple d'arbre binaire -* Représentez `(a * b - c) * (d + e / f)` à l'aide d'un arbre binaire (matrix) +* Représentez `(c - a * b) * (d + e / f)` à l'aide d'un arbre binaire (matrix) . . . @@ -586,7 +586,7 @@ Le noeud est visité à la **remontée**. ## Résultat ``` -a * b - c * d + e / f +c - a * b * d + e / f ``` :::: @@ -877,11 +877,11 @@ 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) + si clé < clé(arbre) + suivant = gauche(arbre) + sinon + suivant = droite(arbre) arbre = suivant si clé < clé(arbre) suivant = gauche(arbre) @@ -922,9 +922,9 @@ 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) { + subtree = key > current->key ? current->right : + current->left; current = subtree; subtree = key > current->key ? current->right : current->left;