Skip to content
Snippets Groups Projects
Commit 3218dceb authored by paul.albuquer's avatar paul.albuquer
Browse files

Corrected typos

parent dd1beedb
No related branches found
No related tags found
No related merge requests found
Pipeline #38218 passed
...@@ -427,10 +427,10 @@ sous-arbres de gauche et de droite. ...@@ -427,10 +427,10 @@ sous-arbres de gauche et de droite.
## Exemple: les arbres lexicographiques ## Exemple: les arbres lexicographiques
* Chaque nœud contient une information de type ordonné, la **clé**, * Chaque nœud contient une information de type ordonné, la **clé**.
* Par construction, pour chaque nœud $N$: * Par construction, pour chaque nœud $N$:
* Toutes clé du sous-arbre à gauche de $N$ sont inférieurs à la clé de $N$. * Toute clé du sous-arbre à gauche de $N$ est inférieure à la clé de $N$.
* Toutes clé du sous-arbre à droite de $N$ sont inférieurs à la clé de $N$. * Toute clé du sous-arbre à droite de $N$ est inférieure à la clé de $N$.
# Algorithme de recherche # Algorithme de recherche
...@@ -438,7 +438,7 @@ sous-arbres de gauche et de droite. ...@@ -438,7 +438,7 @@ sous-arbres de gauche et de droite.
```python ```python
arbre recherche(clé, arbre) arbre recherche(clé, arbre)
tante_que est_non_vide(arbre) tant_que est_non_vide(arbre)
si clé < clé(arbre) si clé < clé(arbre)
arbre = gauche(arbre) arbre = gauche(arbre)
sinon si clé > clé(arbre) sinon si clé > clé(arbre)
...@@ -464,10 +464,10 @@ typedef struct _node { ...@@ -464,10 +464,10 @@ typedef struct _node {
node *search(key_t key, node *tree) { node *search(key_t key, node *tree) {
node *current = tree; node *current = tree;
while (NULL != current) { while (NULL != current) {
if (current->key > X) { if (current->key > key) {
current = current->gauche; current = current->left;
} else if (current->key < X){ } else if (current->key < key){
current = current->droite; current = current->right;
} else { } else {
return current; return current;
} }
...@@ -493,7 +493,7 @@ additionné au nombre de nœuds dans le sous-arbre de droite. ...@@ -493,7 +493,7 @@ additionné au nombre de nœuds dans le sous-arbre de droite.
. . . . . .
```C ```C
int arbre_size(node *tree) { int tree_size(node *tree) {
if (NULL == tree) { if (NULL == tree) {
return 0; return 0;
} else { } else {
...@@ -505,7 +505,7 @@ int arbre_size(node *tree) { ...@@ -505,7 +505,7 @@ int arbre_size(node *tree) {
# L'insertion dans un arbre binaire # L'insertion dans un arbre binaire
* C'est bien joli de pouvoir faire des parcours, recherches, mais si on peut * C'est bien joli de pouvoir faire des parcours, recherches, mais si on ne peut
pas construire l'arbre.... pas construire l'arbre....
## Pour un arbre lexicographique ## Pour un arbre lexicographique
...@@ -594,12 +594,12 @@ ajout(arbre, clé) ...@@ -594,12 +594,12 @@ ajout(arbre, clé)
node *position(node *tree, key_t key) { node *position(node *tree, key_t key) {
node * current = tree; node * current = tree;
if (NULL != current) { if (NULL != current) {
node *subtree = key > current->key ? current->right : node *subtree = key > current->key
current->left; ? current->right : current->left;
while (key != current->key && NULL != subtree) { while (key != current->key && NULL != subtree) {
current = subtree; current = subtree;
subtree = key > current->key ? current->right : subtree = key > current->key
current->left; ? current->right : current->left;
} }
} }
return current; return current;
...@@ -672,7 +672,7 @@ node *add_key(node **tree, key_t key) { ...@@ -672,7 +672,7 @@ node *add_key(node **tree, key_t key) {
## Cas simples: ## Cas simples:
* le nœud est absent, * le nœud est absent,
* le nœud est une feuille * le nœud est une feuille,
* le nœuds a un seul fils. * le nœuds a un seul fils.
## Une feuille (le 19 p.ex.). ## Une feuille (le 19 p.ex.).
...@@ -721,7 +721,7 @@ flowchart TB; ...@@ -721,7 +721,7 @@ flowchart TB;
## Cas compliqué ## Cas compliqué
* Le nœud à supprimer à (au moins) deux descendants (10). * Le nœud à supprimer a (au moins) deux descendants (10).
```{.mermaid format=pdf width=400 loc=figs/} ```{.mermaid format=pdf width=400 loc=figs/}
flowchart TB; flowchart TB;
...@@ -739,19 +739,18 @@ flowchart TB; ...@@ -739,19 +739,18 @@ flowchart TB;
:::: column :::: column
* Si on enlève 10 il se passe quoi? * Si on enlève 10, il se passe quoi?
. . . . . .
* On peut pas juste enlever `10` et recoller... * On ne peut pas juste enlever `10` et recoller...
* Proposez une solution bon sang! * Proposez une solution !
. . . . . .
## Solution ## Solution
* Échange de la valeur à droite dans le sous-arbre de gauche ou * Échange de la valeur à droite dans le sous-arbre de gauche ou ...
...
* de la valeur de gauche dans le sous-arbre de droite! * de la valeur de gauche dans le sous-arbre de droite!
* Puis, on retire le nœud. * Puis, on retire le nœud.
...@@ -826,7 +825,7 @@ arbre suppression(arbre, clé) ...@@ -826,7 +825,7 @@ arbre suppression(arbre, clé)
sinon sinon
gauche(parent) = droite(sous_arbre) gauche(parent) = droite(sous_arbre)
sinon sinon
si droite(parent) == sous_arbreou est_ si droite(parent) == sous_arbre
droite(parent) = gauche(sous_arbre) droite(parent) = gauche(sous_arbre)
sinon sinon
gauche(parent) = gauche(sous_arbre) gauche(parent) = gauche(sous_arbre)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment