Académique Documents
Professionnel Documents
Culture Documents
Chapitre 4 - Partie 3 - TAS
Chapitre 4 - Partie 3 - TAS
Arbre binaire
quasi-parfait
Grignoté à droite
Tous les niveaux de la racine jusqu’à l’avant dernier niveau doivent être remplis ;
De plus les feuilles doivent être calées à gauche (tassées à gauche)
4.4.2 Représentation
On peut représenter un tas par un vecteur en parcourant le tas (arbre) en largeur.
Si le vecteur commence par l’indice 0 :
Le père d’un nœud en position i aura pour position (i-1) /2
Les enfants d’un nœud en position i seront en positions 2i+1 et 2i+2
Père ← nœud → les fils
(i-1/2) i 2i+1 et 2i+2
15
Pr A . Ait el hadj & F. Souam
Chapitre IV - Structures arborescentes
0 12
1 9 2 8
3 2 7
4 5 5
Contre exemples :
Cet arbre n’est pas calé à gauche,
12
sa représentation possède un vide à la case 3.
Ce n’est donc pas un tas.
9 6
12 9 6 / 7 2 5
7 2 5
0 1 2 3 4 5 6
1 7
16
Pr A . Ait el hadj & F. Souam
Chapitre IV - Structures arborescentes
1- Insertion
5
5
20 47
20 47
47 21
47 21 3
5 3
20 3 20 5
47 21 47 21
47 47
17
Pr A . Ait el hadj & F. Souam
Chapitre IV - Structures arborescentes
2- Suppression
La suppression d’un élément dans un tas ne peut se faire que si on connait sa place dans le tas.
La suppression peut provoquer le non-respect de la propriété du tas.
La solution :
Permuter l’élément à supprimer avec celui de la dernière place dans le tas
Supprimer l’element de la dernière place
Mais ! Comme pour l’insertion
Si l’élément obtenu par permutation est inférieur (tas min) ou supérieur (tas max) à
son parent alors permuter avec son parent sinon permuter avec le plus petit (pour tas
min) ou plus grand (pour tas max) de ses fils (à respecter jusqu’à ce que l’arbre
devienne tas).
Exemple : soit à supprimer la clé 20 du tas min suivant
20 Tamiser
Supprimer 20 47
40 50 40 50
42 45 55 58 42 45 58
55
48 49 46 47 48 49 46
40 40
Tamiser
47 50 42 50
42 45 55 58 47 45 55 58
48 49 46 48 49 46
18
Pr A . Ait el hadj & F. Souam
Chapitre IV - Structures arborescentes
20 20
40 50 47 50
42 45 55 58 42 45 58
55
48 49 46 47 48 49 46
20
42 50
47 45 55 58
48 49 46
19
Pr A . Ait el hadj & F. Souam
Chapitre IV - Structures arborescentes
Exemple 1 : Construction d’un tas max en utilisant la méthode directe avec les clés :
20, 10, 31, 7, 1, 20, 8, 19.
10 31 10 20
31
31
Insérer 20, 8 Insérer 19
10 20
10 20
7 1
7 1 20 8
31
31
10 20 tamiser tamiser
10 20
7 1 20 8
19 1 20 8
19
7
31
19 20
10 1 20 8
20
Pr A . Ait el hadj & F. Souam
Chapitre IV - Structures arborescentes
Exemple 2 : Construction d’un tas max en utilisant la manière indirecte avec les clés :
2, 8, 1, 9, 8, 8, 6, 5, 3, 4.
1ere étape : arbre quasi-parfait grignoté par la droite
8 1
9 8 8 6
5 3 4
2 2
8 1 8 1
9 8 8 6 9 8 8 6
5 3 4 5 3 4
21
Pr A . Ait el hadj & F. Souam
Chapitre IV - Structures arborescentes
2
2
8 8 8 8
9 8 1 6 9 8 1 6
5 3 4 5 3 4
2 9
On redescend avec le
9 Le même principe 2 8
8
8 8 1 6 8 8 1 6
5 3 4 5 3 4
9
9
8 8
8 8
5 8 1 6
2 8 1 6
2 3 4
5 3 4
22
Pr A . Ait el hadj & F. Souam
Chapitre IV - Structures arborescentes
La structure de tas, permet d’écrire un algorithme de tri en place optimal en temps, c'est-à-dire
en O(n log n). Le principe est de prendre un tableau en entrée, d’y former un tas (O(n)) et de
retirer un a un les maximums successifs en les rangeant à la fin du tableau (n fois O(log n)).
Soit à trier le tableau [2 8 1 9 8 8 6 5 3 4].
1- On forme le tableau comme un arbre quasi-parfait :
23
Pr A . Ait el hadj & F. Souam
Chapitre IV - Structures arborescentes
24
Pr A . Ait el hadj & F. Souam
Chapitre IV - Structures arborescentes
25
Pr A . Ait el hadj & F. Souam