[PDF] Corrigé des exercices





Previous PDF Next PDF



Les arbres-B Les arbres-B

Un arbre-B d'ordre m est un arbre tel que : 1. Chaque nœud contient k clés Exercice. Comment prendre en compte le cas #4 des exemples ? arbre-B - v1.6.



3I009 1 Indexation : arbres B+ et tables de hachage (3 pts)

10 juin 2016 Dans cet exercice on considère des arbres B+ d'ordre 2 (les noeuds ... - A → B : b1=B



Un exemple de structure de données hiérarchique : larbre B+

l'arbre B+. Maude Manouvrier. Page 2. Arbre B. Arbre B (R. Bayer et C. McCreight 1972)



Conception dalgorithmes Principes et 150 exercices non corrigés Conception dalgorithmes Principes et 150 exercices non corrigés

arbre (b) est un second arbre préfixe. Le coût L(A) de l'arbre préfixe A se définit par la longueur de la chaîne de bits résultant du codage du texte t par ...



Les possessifs exercices et corrigé

7. Complétez les phrases suivantes avec les pronoms possessifs qui conviennent. 1. Cet arbre est à vos voisins ? Oui c'est .



Les démonstratifs exercices et corrigé

Exercices et corrigé. Les adjectifs. 1. Complétez avec ce cette ou ces. 1 Cet arbre est exotique. 2. Ces hélices (f) tournent vite. Cette hélice ...



Langage C : énoncé et corrigé des exercices IUP GéniE

par tree . Exercice 48 Ecrire une f onction A r b re con s truire ( c ha r * s E x pre ss ion int iI ndice D e b ut



Module 7 - Arbres de décisions Exercices - Corrigé

Exercices - Corrigé. Exercice 2. L'entropie peut être calculée selon plot ( arbre uniform=TRUE



Parcours dun arbre binaire

ordre infixe : ch



Les arbres-B

L'arbre-B (o`u B-Tree en anglais) est une SDD utilisée dans les do- maines des : syst`emes de gestion de fichiers : ReiserFS (version modifiée.



Aucun titre de diapositive

Arbre B. Arbre B (R. Bayer et C. McCreight 1972)



EXERCICES corrigés de PROBABILITES

Exercice n°1: Détermine les probabilités p(A) puis p(B) et p(C). 2. Représente l'expérience par un arbre pondéré ( on fait figurer sur chaque branche la.



Exercices corrigés Initiation aux bases de données

Correction de l'exercice 2. A ne peut pas être clé de R car la valeur a1 de A se répètent dans la relation R. De même pour. B (b1) et C (c2).



Terminale S - Probabilités Exercices corrigés

F. Laroche. Probabilités exercices corrigés. Correction. 1.a. Arbre pondéré : Evénement A : chemin. Evénement B : chemin. Evénement C : chemin. B. B. B.



10 EXERCICES DE 60 PHRASES CHACUN –avec corrigé. 600

Exercices préparatoires au TECFÉE. CORRIGÉ. Partie 1. PARTIE A. 1. L'orthographe grammaticale et la morphologie. 1. b) Une immense banderole bleu lavande 



Langage C : énoncé et corrigé des exercices IUP GéniE

par tree . Exercice 48 Ecrire une f onction A r b re con s truire ( c ha r * s E x pre ss ion int 



Les possessifs exercices et corrigé

7. Complétez les phrases suivantes avec les pronoms possessifs qui conviennent. 1. Cet arbre est à vos voisins ? Oui c'est .



PROBABILITES – EXERCICES CORRIGES

Exercice n°1. B l'événement : "La carte choisie est rouge (cœur ou carreau)". ... L'arbre ci-contre indique la répartition selon le niveau et la.



Systèmes de Gestion de Bases de Données – 3I009 1 Indexation

Dans cet exercice on considère des arbres B+ d'ordre 2 (les noeuds et les CORRIGÉ. UPMC. Réponse : Solution: Insertion de 28 et 31 dans F3 : F3 (27



Les B-arbres

Un B-arbre est un arbre de la recherche avec une rami?cation importante et une hauteur plutôt faible En pratique un noeud de notre arbre est une page de notre disque externe



Les B-arbres

Arbre B+ d’ordre m Tout nœud d’index a au maximum m nœuds fils - un nœud possède au minimum [m/2] fils - la racine possède au minimum 2 fils - tout nœud d’index contient k fils et (k-1) clés L’arbre est équilibré (balanced tree) -t ous les nœuds feuilles sont au même niveau - la hiérarchie de l'arbre grossit par la racine :



Searches related to b arbre exercices corrigés PDF

1 a Constmire un arbre de dénombrement de toutes les combinaisons possibles de 3 boules b Combien de combinaisons y a-t-il ? 2 A l'aide de l'arbre de dénombrement calculer la probabilité des événements suivants A : On a 2 boules rouges C : On n'a pas de boule bleue EXERCICE 4A 4 B : On a une boule de chaque couleur

Comment calculer la complexité d’un arbre ?

Hypothèses pour le calcul de la complexité:—La racine du B-arbre se trouve toujours en mémoire principal : on n’a pas de LIRE-DISQUE; ce-pendant, il faudra effectuer un ÉCRITURE-DISQUElors de la modi?cation de la racine.—Tout noeud passé en paramètre devra subir un LIRE-DISQUE. Théorème. Soit T un B-arbre à n élément de degré minimal t2.

Quelle est la hauteur d’un arbre ?

Algorithmes et structures de donn´ees : TD 1 Corrig´e D´essiner cet arbre. Quelle est la hauteur de l’arbre ? La hauteur de l’arbre est 3. 3. Est-ce que cet arbre est un arbre entier, un arbre parfait (=complet), et/ou un arbred´eg´en´er´e ? Cet arbre est entier car chaque noued a zero ou deux ?ls.

Comment savoir si un arbre est équilibré?

Arbre B+ d’ordre m Tout nœud d’index a au maximum mnœuds fils - un nœud possède au minimum[m/2] fils - la racine possède au minimum 2 fils - tout nœud d’index contient k fils et (k-1) clés L’arbre est équilibré (balanced tree)

Comment créer un arbre binaire de recherche ?

Etablir la structure de donn´eesptnoeud ?pour cet arbre binaire de recherche contenantune cl´e (integer) et deux pointeurs, un pour le sous-arbre gauche, et un pour le sous-arbredroite. 2. Ecrire une fonctionfunction max(noeud : mum de l’abre de recherche. 3. Ecrire une fonctionfunction min(noeud : mum de l’abre de recherche.

Chapitre 1option informatique

Corrigé des exercices

Arbres binaires

Exercice 1La première solution qui vient à l"esprit est sans doute celle-ci :letrec profondeur p =function

| Nil> [] | a when p = 0> [a]

| Noeud (fg, _, fd)> (profondeur (p1) fg)@(profondeur (p1) fd) ;;mais elle n"est pas optimale, car il faut se souvenir que la concaténation de deux listes effectue un nombre

d"insertions en tête de liste égal à la longueur de la liste de gauche. Dans le cas d"un arbre complet de hauteurp,

le nombretpd"insertions effectuées vérifie la relation : t p= 2tp1+2p1: Celle-ci se résout en sommant l"égalité télescopique :tp2 ptp12 p1=12, soit :tp=p2p1. Ainsi, dans le cas d"un arbre binaire complet le coût de cette fonction est un(nlogn) avecn=jAj= 2p+11. On peut faire mieux en utilisant un accumulateur :letprofondeur = let rec aux acc p =function | Nil> raise Not_found | a when p = 0> a::acc | Noeud (fg, _, fd)> aux (aux acc (p1) fd) (p1) fg inaux [] ;;

Avec cette fonction chaque arbre n"est inséré qu"une fois en tête de liste, ce qui est optimal : dans le cas de

l"arbre binaire complet le nombre d"insertion est égal à 2p, le coût est un(n).

Exercice 2

Le calcul de la hauteur d"un arbre est linéaire vis-à-vis de la taille de l"arbre, donc lorsqueAest

un arbre binaire complet de taillenle coûttnde cette fonction vérifie la relationtn= 2tbn=2c+(n). D"après le

théorème maître,tn=(nlogn).

Le cas d"un arbre incomplet est plus délicat à étudier à cause de l"évaluation paresseuse, mais on peut au moins

donner une majoration du coût :tn6tp+tq+(n) avecp+q=n1 ce qui permet d"obtenirtn= O(n2) dans le cas général.

De toute façon on peut faire mieux en utilisant une fonction auxiliaire qui calcule la hauteur en même temps

qu"elle détermine si l"arbre est complet ou non :letest_complet a = let rec aux =function | Nil> true,1 | Noeud (fg, _, fd)>let(b1, h1) = aux fgand(b2, h2) = aux fdin (b1 && b2 && h1 = h2, 1 + max h1 h2) infst (aux a) ;;

Le coût de cette fonction vérifie cette fois la relation :tn=tp+tq+(1)avecp+q=n1, ce qui conduit à

tn=(n); le coût est linéaire dans tous les cas.

Jean-Pierre Becirspahic

1.2option informatique

Exercice 3On génère un arbre complet de taillen(s"il en existe) à l"aide de la fonction :letrec complet =function

| 0> Nil | n when n mod 2 = 0> failwith" complet" | n>letx = complet ((n1)/2)inNoeud (x, x) ;;

Exercice 4Les squelettes des arbres deFibonaccid"ordre 2, 3, 4 et 5 sont dessinés ci-dessous :Sifpdésigne le nombre de feuilles d"un arbre deFibonaccid"ordrepalors :

f

0= 0; f1= 1;et8p>2; fp=fp1+fp2

doncfpest égal aupenombre deFibonacci. Commençons par montrer que la hauteur d"un arbre deFibonaccid"ordrepest égal àp1.

C" estclair si p= 0 oup= 1.

-Sip>2, supposons le résultat acquis aux rangsp1etp2, et considérons un arbre deFibonacciA d"ordrep. Par construction, A = 1+max(p2;p3) =p1, ce qui prouve le résultat au rangp.

Montrons maintenant par récurrence surp2Nque tout noeud interne d"un arbre deFibonaccid"ordrepa un

déséquilibre égal à 1. C" estclair pour p= 0 etp= 1 puisqu"il n"y a pas de noeud interne dans ces deux arbres. Sip>2, supposons le résultat acquis aux rangsp1etp2. Par construction, tout interne noeud

appartenant au fils gauche ou au fils droit a un déséquilibre égal à 1. Il reste à examiner le cas de la racine.

Or nous venons de prouver que son fils gauche a une hauteur égale àp2et son fils droit àp3donc son

déséquilibre est égal à (p2)(p3) = 1, ce qui achève de prouver le résultat annoncé.

Exercice 5

Le principe est de calculer en même temps le déséquilibre et la hauteur de chacun des sous-arbres

qui composent l"arbre à tester. La démarche est très semblable à celle suivie dans l"exercice 1.letavl a =

let rec aux =function | Nil> (true,1) | Noeud (fg, _, fd)>let(b1, h1) = aux fgand(b2, h2) = aux fdin (b1 && b2 && (h1 = h2 || h1 = h21 || h1 = h2+1),

1 + max h1 h2)

infst (aux a) ;;

Exercice 6

a)Le coloriage ci-dessous convient :

Corrigé des exercices1.3

b)L"arbre ci-contre ne peut avoir de coloration rouge-noir, car au moins trois noeuds du fils droit doivent être coloriés en rouge pour respecter la troisième condition, et ceci est impossible sans contrevenir à la deuxième condition.c)

Il existe au moins un noeud à la profondeurh(A); le chemin qui le conduit à la racine comporteh(A)+1

noeuds dontb(A) noeuds noirs eth(A)+1b(A) noeuds rouges. Ceci prouve déjà queb(A)6h(A)+1.

Par ailleurs, sachant que la racine est noire est que tout parent d"un noeud rouge est noir, il y a aussi au moins

h (A)+1b(A)noeuds noirs sur ce trajet, ce qui prouve l"inégalité :h(A)+1b(A)6b(A)()h(A)+162b(A). Raisonnons maintenant par induction structurelle pour prouver la seconde inégalité.

Si A = nilalorsb(A) = 0 etjAj= 0.

Si A = ( F

g;x;Fd), A possède deux fils (éventuellement vides). Un fils noir ou videFest la racine d"un arbre rouge-noir pour lequelb(F) =b(A)1. Dans ce cas, jFj>2b(A)11.

Un fils rougeFne peut avoir que des fils noirs; il en a deux (éventuellement vides), qui sont les racines

d"arbres rouge-noir A0pour lesquelsb(A0) =b(A)1. Dans ce cas,jFj>2(2b(A)11)+1 = 2b(A)1. Sachant quejAj=jFgj+jFdj+1 on en déduit quejAj>2(2b(A)11)+1 = 2b(A)1.

Cette dernière inégalité peut aussi s"écrireb(A)6log(jAj+1)ce qui implique :h(A)62log(jAj+1)1et donc

h(A) = O(logjAj); un arbre rouge-noir est équilibré. d)

Plutôt que de vérifier que le père de chaque noeud rouge est noir, on vérifie plutôt que chaque noeud rouge

n"a pas de fils rouge à l"aide de la fonction :letrec couleur_fils =function | Nil> true | Noeud (Noeud (_, Rouge, _), Rouge, _)> false | Noeud (_, Rouge, Noeud (_, Rouge, _))> false | Noeud (fg, _, fd)> couleur_fils fg && couleur_fils fd ;;

La fonction suivante a pour objet de vérifier que le nombre de noeuds noirs entre un arbre vide et la racine est

constant :lethauteur_noir a = let rec aux =function | Nil> (true, 0) | Noeud (Nil, Noir, fd)>let(b, h) = aux fdin(b, h + 1) | Noeud (fg, Noir, Nil)>let(b, h) = aux fgin(b, h + 1) | Noeud (fg, Noir, fd)>let(b1, h1) = aux fgand(b2,h2) = aux fdin (b1 && b2 && h1 = h2, h1 + 1) | Noeud (Nil, Rouge, fd)> aux fd | Noeud (fg, Rouge, Nil)> aux fg | Noeud (fg, Rouge, fd)>let(b1, h1) = aux fgand(b2,h2) = aux fdin (b1 && b2 && h1 = h2, h1) infst (aux a) ;;Il reste à écrire la fonction principale : letrouge_noir a =matchawith | Nil> false | Noeud (_, c, _)> c = Noir && couleur_fils a && hauteur_noir a ;;Jean-Pierre Becirspahic

1.4option informatique

Arbres binaires de recherche

Exercice 7Plusieurs solutions sont possibles, l"une d"entre-elles consiste à vérifier que le parcours infixe

retourne les clés par ordre croissant.letrec est_decroissante =function | [] | [_]> true | a::b::q> a >= b && est_decroissante (b::q) ;; letest_abr a = let rec aux acc =function | Nil> acc | Noeud (fg, x, fd)> aux (x.Key::(aux acc fg)) fd inest_decroissante (aux [] a) ;; vérifie que cette liste est décroissante, le tout en coût linéaire vis-à-vis dejAj.

Une autre solution consiste à utiliser une fonction auxiliaire qui détermine si un arbre est un ABR et renvoie en

plus les valeurs minimale et maximale des clés présentes :exceptionArbre_vide ;; letest_abr a = let rec aux =function |Nil> raise Arbre_vide |Noeud (Nil, x, Nil)> (true, (x, x)) |Noeud (Nil, x, d)>let(b, (u, v)) = aux din(b && x <= u, (x, v)) |Noeud (g, x, Nil)>let(b, (u, v)) = aux gin(b && x >=v, (u, x)) |Noeud (g, x, d)>let(b1, (u1, v1)) = aux gandb2, (u2, v2) = aux d in(b1 && b2 && x <= v2 && x >= u1, (u1, v2)) in try fst (aux a)withArbre_vide> true ;;

Exercice 8

Nous avons besoin d"une fonction d"insertion dans un ABR, par exemple au niveau des feuilles :letrec insere y =function

| Nil> Noeud (Nil, y, Nil) | Noeud (fg, x, fd) when x < y> Noeud (fg, x, insere y fd)

| Noeud (fg, x, fd)> Noeud (insere y fg, x, fd) ;;ainsi que d"une fonction qui crée un ABR à partir des éléments d"un tableau :

let rec creer_abr t = let rec aux =function | i when i = vect_length t> Nil | i> insere t.(i) (aux (i+1)) inaux 0 ;;

La fonction principale réalise alors un parcours infixe, le traitement consistant à placer l"élément rencontré

dans le tableau (la référence utilisée marque le rang de la prochaine case à remplir).lettri_abr t =

letk = ref 0in let rec aux =function | Nil> () | Noeud (fg, x, fd)> aux fg ; t.(!k) Dans le meilleur des cas l"arbre obtenu est équilibré et le coût de sa création est unO(nlogn)tandis que le coût

du parcours infixe est un(n). Le coût total est donc un O(nlogn).

Dans le pire des cas l"arbre obtenu est un arbre peigne et le coût de sa création est un(n2). Le coût du parcours

infixe est toujours un(n) donc le coût total est un(n2).

Corrigé des exercices1.5

Exercice 9Une solution consiste à effectuer un parcours (infixe par exemple) deA2en insérant chacun des

éléments dans A1. Cette solution a un coût important : O(jA2jh(A1)) voire plus en cas de déséquilibre.

La solution que nous allons réaliser consiste, siA2= (Fg;x;Fd), à procéder récursivement en insérantxà la

racine de A1puis à fusionner Fgavec le sous-arbre gauche obtenu et Fdavec le sous-arbre droit.

On commence par rédiger la fonction suivante, déjà utilisée dans l"algorithme d"insertion à la racine, qui sépare

un arbre binaire de recherche en deux :letrec partition v =function | Nil> Nil, Nil | Noeud (fg, x, fd) when x.Key < v>leta1, a2 = partition v fdin

Noeud (fg, x, a1), a2

| Noeud (fg, x, fd)>leta1, a2 = partition v fgin a1, Noeud (a2, x, fd) ;;La fusion s"écrit alors : let rec fusion a1 a2 =match(a1, a2)with | _, Nil> a1 | Nil, _> a2 | _, Noeud (g2, x, d2)>letg1, d1 = partition x.Key a1in

Noeud (fusion g1 g2, x, fusion d1 d2) ;;

Exercice 10

a)Considérons une rotation droite et notonsa,betcdes éléments respectifs des ABR A, B et C.

Par hypothèse,a6x6betb6y6c.

Ces inégalités peuvent s"écrire de manière équivalente :b6y6ceta6x6b, ce qui traduit que l"arbre obtenu

par rotation droite et toujours un ABR. Il en est bien sur de même d"une rotation gauche.

Les deux fonctions de rotations se réalisent à coût constant en écrivant :letrotd =function

| Noeud (Noeud (a, x, b), y, c)> Noeud (a, x, Noeud (b, y ,c)) | _> failwith" rotd";; letrotg =function | Noeud (a, x, Noeud (b, y ,c))> Noeud (Noeud (a, x, b), y, c) | _> failwith" rotg";; b)

La rotation gauche autour deyconduit à l"arbre de gauche; suivie de la rotation droite autour dexon

obtient l"arbre indiqué à droite.x z y ABCDz y ABx CD c)

Le déséquilibre initial deyest égal à1,0ou1, et l"apparition d"une feuille parmi ses descendants ne peut

modifier son déséquilibre que d"au plus une unité, donc eq(y) =2. Si on suppose eq(y) = 2, la situation peut être représentée ci-dessous :y x ABC

Jean-Pierre Becirspahic

1.6option informatique

avech(C) = max(h(A);h(B))1.Sieq(x) = 0alorsh(A) =h(B)eth(C) =h(B)1, et la rotation droite autour deyconduit aux nouvelles valeurs

du déséquilibre :eq(x) =h(A)(h(B)+1) =1eteq(y) =h(B)h(C) = 1donc la condition AVL est de nouveau

respectée.

Sieq(x) = 1alorsh(A) =h(B)+1h(C) =h(B), et la rotation droite autour deyconduit aux nouvelles valeurs

du déséquilibre :eq(x) =h(A)(h(B)+1) = 0eteq(y) =h(B)h(C) = 0donc la condition AVL est de nouveau

respectée.

Sieq(x) =1alorsh(B) =h(A)+1eth(C) =h(A). Puisqueh(B)>0,Bn"est pas l"arbre vide; notonszsa racine,B1et B

2ses fils gauche et droit. La situation est alors la suivante :y

x Az B 1B 2C

avecmax(h(B1);h(B2)) =h(A) =h(C). La question précédente a montré qu"en deux rotations il était possible

d"obtenir l"arbre ci-dessous :z x AB 1y B 2C z

étant équilibré on ah(B1)h(B2) =1,0ou1donc les nouvelles valeurs du déséquilibre sont :eq(x) = 0ou1,

eq(y) = 0 ou -1, eq(z) = 0, donc la condition AVL est de nouveau respectée.

Il reste à remonter dans la branche menant à la racine et à réitérer éventuellement le processus pour rééquilibrer

un arbre AVL après une insertion en un coût O(h(A)).

Tas binaires

Exercice 11

a)

On commence par calculer la taille de l"arbre à l"aide de la fonctiontailledu cours pour pouvoir créer un

tableau de dimension adéquate, que l"on remplit à l"aide de la fonction auxiliaire.lettab_of_arbre a =

letn = taille ain lett = make_vect n 0in let rec aux k =function | Nil> () | Noeud (fg, x, fd)> t.(k) La restriction aux arbres de typeints"explique par la nécessité de fixer une valeur arbitraire dans le tableaut

au moment de sa création. b)La fonction réciproque n"appelle pas de commentaire particulier :letarbre_of_tab t = let rec aux =function | k when k >= vect_length t> Nil | k>letx = t.(k)andfg = aux (2*k+1)andfd = aux (2*k+2) inNoeud (fg, t.(k), fd) inaux 0 ;;

Corrigé des exercices1.7

Exercice 12

a)Dans un tableauCamll"indice du fils gauche du noeud d"indicekest égal à2k+1donc la première feuille

est le noeud pour lequel 2k+1>n, soitk=ln12 m=jn2 k. b)

Généralisons le résultat de la question précédente en considérant la suiteudéfinie paru0=ket la relation

up+1= 2up+1. Le fils gauche du noeud d"indiceka pour indiceu1, le petit-fils gauche a pour indiceu2, et

plus généralement le descendant gauche de rangpa pour indiceup. Or dans un arbre parfait, un noeud est de

hauteurhs"il possède un descendant gauche de ranghmais pas de rangh+1. Le noeud d"indicekest donc de

hauteurhsi et seulement siuh< n6uh+1. Il est facile de calculer queup= 2p(k+1)1 donc le noeud d"indicekest de hauteurhsi et seulement si : 2 h(k+1)1< n62h+1(k+1)1()n+12 h+16k+1Exercice 13

L"élément maximal d"un tas min, se trouve au niveau des feuilles; d"après l"exercice 11 il se

trouve dans la deuxième moitié du tableau, ce qui donne :letmax_tas_min t = letn = vect_length tin let rec aux acc =function | k when k >= n> acc | k> aux (max acc t.(k)) (k+1) inaux t.(n/2) (n/2+1) ;;

Exercice 14

a)Voici les squelettes des arbres binomiaux d"ordres 1, 2, 3 et 4 : La tailletpd"un arbre binomial d"ordrepvérifie la relation :tp= 1+p1X k=0t k; on prouve par récurrence que tp= 2p.

La hauteurhpd"un arbre binomial d"ordrepvérifie la relation :hp= 1+max(hp1;hp2;:::;h0); on prouve par

récurrence quehp=p.

Le nombreb(p;k)de noeuds à la profondeurkd"un arbre binomial d"ordrepvérifie la relation :b(p;k) =

b(p1;k1)+b(p1;k); on prouve par induction queb(p;k) = p k! b)

Il s"agit tout simplement d"insérerrdans le tasFd. PuisqueFdest un tas complet,rest initialement placé au

premier rang de la profondeurp1et puisqu"il est inférieur à tout noeud deFdil va remonter jusqu"à la racine

en effectuantp1 permutations, sans qu"il soit nécessaire d"effectuer une comparaison. c) On dispose maintenant de deux tas binomiaux d"ordrep1:B1qui est issu de la transformation deFget

B2qui est issu de la réunion deret deFd. Notons querest situé à la racine deB2et qu"il est supérieur à tout

élément de B1. On obtient donc un tas binaire d"ordrepen ajoutant B1à la liste des fils derdans B2.

d)La première transformation conduit à un appel récursif sur chacun des deux tas :

Jean-Pierre Becirspahic

1.8option informatique3

8 11 15147
13161
2 5 1264
109
Il faut ensuite transformer en tas binomial chacun de ces quatre tas binaires : 8 11 15143
7 13162
5 1261
4 109
Ce n"est pas la peine d"aller plus loin car ce sont des tas binomiaux d"ordre 2. On les regroupe maintenant deux par deux pour former des tas binomiaux d"ordre 3 :3 8 11 15147
13161
2 5 1264
109
On regroupe ces deux tas pour obtenir un tas binomial d"ordre 4 : 1 3 8 11 15147
13162
5 1264
109

e)Le nombre d"échangesupeffectués dans les différents tas binaires vérifie la relation :up=p1+2up1avec

u2= 0 doncup= 3:2p12p1 (après calcul).

Le nombrevpde concaténations de tas binomiaux effectuées vérifie la relation :vp= 2vp1+1etv2= 0donc

vp= 2p21.

Sachant que ces opérations peuvent être réalisées à coût constant, le coût total de cet algorithme est un(n)

avecn= 2p, donc linéaire vis-à-vis du nombre de sommets.quotesdbs_dbs15.pdfusesText_21
[PDF] insertion arbre binaire de recherche

[PDF] structure de données les arbres exercices corrigé

[PDF] arbre binaire de recherche suppression

[PDF] exercices sur les arbres binaires en c

[PDF] exercice corrigé arbre rouge et noir

[PDF] arbre binaire de recherche en c

[PDF] les arbres en c openclassroom

[PDF] arbre binaire de recherche algorithme

[PDF] arbre binaire de recherche algorithme suppression

[PDF] parcours en profondeur arbre

[PDF] arbre binaire complet

[PDF] dénombrement cours

[PDF] arbre de probabilité pile ou face

[PDF] arbre de probabilité seconde

[PDF] arbre probabilité conditionnelle