• Aucun résultat trouvé

ALGO1 – Tas binomiaux

N/A
N/A
Protected

Academic year: 2022

Partager "ALGO1 – Tas binomiaux"

Copied!
3
0
0

Texte intégral

(1)

ALGO1 – Tas binomiaux

Fran¸cois Schwarzentruber September 15, 2020

Tas binaire Tas binomiaux enfiler O(logn) O(logn) d´efiler O(logn) O(logn) union O(n) O(logn)

1 Arbres binomiaux

D´efinition 1 Les arbres binomiauxB0, B1, . . . sont d´efinis par r´ecurrence par :

B0= Bk =

Bk−1

Bk−1

pour toutk≥1.

Proposition 2

1. Il y a 2k nœuds dans Bk. 2. La hauteur deBk est k. 3. Il y a ki

`

a la profondeuri.

4. La racine de Bk est d’arit´ek . D´emonstration.

1. Par r´ecurrence.

2. Par r´ecurrence.

3. Par r´ecurrence. On a k−1i−1

+ k−1i

= ki . 4. Par r´ecurrence.

Corollaire 3 L’arit´e d’un arbre binomial `an´el´ements estO(logn).

D´emonstration. nest une puissance de deux : 2k et la hauteur estk= log(n).

2 D´ efinition d’un tas binomial

D´efinition 4 Un tas binomialH est un ensemble d’arbres binomiaux ´etiquet´es tel que :

• chaque arbre de H v´erifie la propri´et´e de tas, i.e.chaque nœud est plus prioritaire que ses enfants ;

• chaqueBk apparait au plus une fois dans H.

1

(2)

Proposition 5 Un tas binomial `an´elements contient au plus O(logn)arbres.

D´emonstration.

Il y a 13 ´el´ements et 13 = 1 + 22+ 23. Le nombre d’arbres est le nombre de chiffres qu’il faut pour ´ecrire le nombre n, c’est unO(logn).

3 Impl´ ementation

Liste chaˆın´ee sur les racines par degr´es croissants.

En chaque nœud : on stocke le degr´e et pointeurs vers le parent, premier fils, fr`ere droit

2

(3)

4 Op´ erations

Cr´eer un tas vide. Cr´eer une liste vide.

Trouver l’´el´ement prioritaire. Parcourir la liste des racines.

Union de deux tas binomiaux.

1. On fusionne les deux listes par ordre de degr´e croissant.

2. On colle les arbres de mˆeme degr´e :

x y x

y

Ins´erer l’´el´ement x.

x

union

• Ajouter l’arbre-racinexau d´ebut de liste

• Union 2.

D´efiler l’´el´ement prioritaire.

trouver l’´el´ement prioritairex

supprimer l’arbre

x

cr´eer untas binomial les avec

enfan de ts

x

union

5 Notes bibliographiques

Les tas binomiaux [Vui78] permettent l’union enO(logn).

References

[Vui78] Jean Vuillemin. A data structure for manipulating priority queues. Commun. ACM, 21(4):309–315, 1978.

3

Références

Documents relatifs

On peut analyser le cas moyen en regardant le profondeur moyenne d’un nœud dans un tel arbre de recherche al´eatoire : le co ˆut de chaque op´eration d´epend de la profondeur du

[r]

[r]

Ce prix subit une majoration au taux de 25% puis une minoration `a un taux inconnu, t%, sur le prix major´e.. Calculer t sachant que le prix de l’article est ` a nouveau 180

Soit a j H la variable al´ eatoire qui repr´ esente le nombre d’´ el´ ements dans l’alv´ eole num´ ero j au premier niveau avec H.. Pour tout j, pour la table de hachage

Dans un cadre g´en´eral, un arbre binaire est une structure dans laquelle chaque nœud comporte une valeur et deux pointeurs ou r´ef´erences vers deux fils : le fils gauche et le

[r]

arbre enraciné dans lequel les fils de chaque noeud sont ordonnés. Autrement dit, si un noeud a k fils, alors il existe un premier, deuxième, …etc fils.. • Un arbre binomial