• Aucun résultat trouvé

3 Arbres rouge et noirs

N/A
N/A
Protected

Academic year: 2022

Partager "3 Arbres rouge et noirs"

Copied!
2
0
0

Texte intégral

(1)

TD d’Algo n o 3

EPITA ING1 2012; A. DURET-LUTZ

12 novembre 2009

1 Manipulation des tas

Rappelons des différents algorithmes sur les tas “max” (c’est-à-dire avec la plus grande va- leur en racine) :

HEAPIFY(A,i,m) 1 l ←LEFTCHILD(i) 2 r ←RIGHTCHILD(i) 3 ifl ≤mand A[l]> A[i] 4 thenlargest ←l 5 elselargest ←i

6 ifr ≤mand A[r]> A[largest] 7 thenlargest ←r

8 iflargest 6=ithen 9 A[i] ↔ A[largest] 10 HEAPIFY(A,largest,m) HEAP-SORT(A)

1 BUILD-HEAP(A)

2 fori←length(A)down to 2 do 3 A[1]↔ A[i]

4 HEAPIFY(A, 1,i−1)

BUILD-HEAP(A)

1 fori← blength(A)/2cdown to 1 do 2 HEAPIFY(A,i,length(A))

HEAP-INSERT(A,m,v) 1 i ←m+1

2 A[i]←v

3 whilei >1 and A[Parent(i)]< A[i]do 4 A[Parent(i)]↔ A[i]

5 i ←Parent(i)

HEAP-REMOVE-MAX(A,v) 1 v ← A[1]

2 A[1] ← A[length(A)]

3 length(A) ←length(A)−1 4 HEAPIFY(A,i,length(A)) 5 returnv

1. On considère le tas représenté par le tableau 10 7 9 4 3 6 2 1 . Donnez l’état du tas après les insertions successives des valeurs 8 et 12, puis après les suppressions successives des 3 plus grandes valeurs.

2. Triez le tableau 2 4 6 8 1 3 5 7 (avec un tri par tas, bien sûr)

3. Rappelez les complexités établies en cours pour chacun des algorithmes ci-dessus lorsquen=length(A).

4. Quelle est la complexité de trier (par tas) un tableau strictement décroissant ?

5. Quelle est la complexité de trier (par tas) un tableau dont tous les éléments sont iden- tiques ?

6. Quelles sont les modifications à apporter aux algorithmes ci-dessus pour réaliser un tas “min”.

1

(2)

2 File de priorité

On considère la gestion d’un file d’attente d’imprimante, dans laquelle chaque tâche d’impression est soumise avec une priorité. Lorsque l’imprimante est libre, la tâche la plus prioritaire est retirée de la liste pour être traitée par l’imprimante. Une telle file d’attente sera réalisée efficacement avec un tas “max” :

– la soumission d’une tâche correspond à HEAP-INSERT,

– le retrait de la tâche prioritaire se fait avec HEAP-REMOVE-MAX.

On souhaiterait d’autre part être capable d’augmenter la priorité d’une tâche existante dans la file. Les opérations écrites jusqu’à présent ne le permettent pas.

1. Écrivez une procédure HEAP-INCREASE-KEY(A,i,v) qui donne à la tâche A[i] la va- leurv(supposée supérieure à l’ancienne valeur) et corrige la structure du tas en consé- quence.

2. Quelle est la complexité de HEAP-INCREASE-KEY?

3. Parmi les cinq algorithmes présentés au début du TD, lequel peut maintenant être simplifié avec un appel à HEAP-INCREASE-KEY?

4. Une file de priorité pourrait-elle être implémentée par uneskip listdécroissante ? Quelles seraient les complexités des opérations d’insertion, de suppression du max, et d’aug- mentation d’une priorité ?

5. Une file de priorité pourrait-elle être implémentée par un arbre rouge et noir ? Quelles seraient les complexités des trois opérations ?

3 Arbres rouge et noirs

Dessinez les arbres rouge et noir résultants des insertions successives des valeurs 8, 17, et 19 dans l’arbre suivant :

NIL NIL NIL NIL NIL NIL

1 NIL 9 13 NIL NIL

4 10 NIL 20

7 18

15

2

Références

Documents relatifs

2 Exige le téléchargement et l'installation de l’application HP Smart. Pour des informations plus détaillées sur les exigences locales en matière d’impression, consultez le

On vous montrera des exercices à faire avant et après votre opération pour tousser et respirer profondément afin de dégager vos poumons.. Faites ces exercices entre 5 et 10 fois

Remarque : • Vous pouvez définir les paramètres de format de papier sur le panneau de commande pour le bac standard, le bac d'entrée polyvalent et le bac en option.. Format papier

Pique pour fixer les étiquettes de prix dans la glace en écailles (comptoir des produits frais) En combinaison avec l'adaptateur de carte SOLU-Pro Matière : PC. Quantité par unité

Bénéficiez d'une impression rapide avec la plus petite imprimante laser HP, et gagnez du temps avec l’application HP Smart.1,2 Vous pouvez compter sur une impression laser de

Yvonne Rainer dira ainsi sa surprise lorsqu’elle découvre ce qu’est devenue la tâche dans la pièce Parades and Changes (1965) d’Anna Halprin 18 : si les actions de

Cliquez sur «Non» et sélectionnez le type de recto verso désiré en 1.5 2.. Cliquez

Pour approfondir des trous de mesure existants ou pour réaliser des forages dans des surfaces non consolidées. Avec certificat d’essai TÜV pour la résis- tance au