Skip to content
Snippets Groups Projects

Pk

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