Skip to content
Snippets Groups Projects

Pk

Merged pierre.kunzli requested to merge pk into master
1 file
+ 7
5
Compare changes
  • Side-by-side
  • Inline
+ 11
7
@@ -426,8 +426,8 @@ fe(P) = -1
fe(P) = -2 && fe(gauche(P)) = -1 => cas 1a
fe(P) = -2 && fe(gauche(P)) = +1 => cas 2a
fe(P) = +2 && fe(gauche(P)) = -1 => cas 1b
fe(P) = +2 && fe(gauche(P)) = +1 => cas 2b
fe(P) = +2 && fe(droite(P)) = -1 => cas 2b
fe(P) = +2 && fe(droite(P)) = +1 => cas 1b
```
## Dessiner les différents cas, sur le dessin ci-dessous
@@ -442,12 +442,13 @@ fe(P) = +2 && fe(gauche(P)) = +1 => cas 2b
. . .
\footnotesize
```
arbre rotation_gauche(arbre P)
si est_non_vide(P)
Q = droite(P)
droite(P) = gauche(Q)
gauche(Q) = droite(P)
gauche(Q) = P
retourne Q
retourne P
```
@@ -461,7 +462,7 @@ arbre rotation_gauche(arbre P)
si est_non_vide(P)
Q = droite(P)
droite(P) = gauche(Q)
gauche(Q) = droite(P)
gauche(Q) = P
retourne Q
retourne P
```
@@ -473,6 +474,7 @@ arbre rotation_gauche(arbre P)
. . .
\footnotesize
```C
typedef struct _node {
int key;
@@ -492,7 +494,7 @@ tree_t rotation_left(tree_t tree) {
if (NULL != tree) {
subtree = tree->right;
tree->right = subtree->left;
subtree->lefe;
subtree->left = tree;
}
return subtree;
}
@@ -502,6 +504,8 @@ tree_t rotation_left(tree_t tree) {
* Et la rotation à droite (5min)?
. . .
```C
tree_t rotation_right(tree_t tree) {
tree_t subtree = NULL;
@@ -578,9 +582,9 @@ graph TD;
# Exercices
## Faire l'implémentation de la double rotation (pas corrigé 15min)
## Faire l'implémentation de la double rotation (pas corrigé, 5min)
. . .
# Exercices
::: columns
Loading