You are on page 1of 3
Université Paris Diderot ~ Paris 7 Algorithmique 13 Informatique semaine du 17 septembre 2012 TD n°l - Correction Arbres binaires de recherche et analyse en moyenne 1 ON (ae sm 3 / y 8 Exercice 2 z @ @ Oo © Ficure1-ABRaprés FIGURE2—ABRaprés Figure 3-ABRaprés Ficure 4 - ABR en insertions successives suppression de 2 en suppression de 7 en remplagant 7 par son le remplagant par son Ie remplagant par son _prédécesseur suiccesseur successeur On remarque que l'on préserve mieux l’équilibre de V'arbre en alternant l'utilisation du prédécesseur et du successeur. Une solution est de tirer au hasard celui que Pon utilise. Exercice 3 Pour chaque séquence, il faut tenter de reconstituer le parcours dans l'ABR en vérifiant la propriété des ABR : “pour tout noeud 2, les clés du sous-arbre gauche sont inférieures a le clé de 2, les clés du sous-arbre droit sont supérieures & la clé de 2”. Pour les séquences 1, 2 et 4, c'est possible, Par contre pour les séquences 3 et 5, cela ne l’est pas. Dans la séquence 3, la sous-séquence 911, 240, 912 est impossible, car 240 est nécessairement le fils gauche de 911 et done 912 appartient au sous arbre geuche de 911, ce qui est impossible dans un ABR. Dans la séquence 5, la sous-séquence 347, 621, 299 est impossible, cat 621 est nécessairement le fils droit de 347 et donc 299 appartient au sous-arbre droit de 347, ce qui est impossible dans un ABR. Finalement, en notant (23) la suite des valeurs parcourues, il suffit de vérifier que eens (w >i, xe Say) OU (Vk>i, ae> *)) Exercice 4 ~ Pire ordre : 1 puis 2 puis 3... puis 1000. (Mais aussi : 1 puis 1000 puis 2 puis 999 puis 3... puis 500 puis 501) ~ Meilleur ordre : on insére & chaque fois le mileu comme racine; puis on recommence par récurrence, Plusicurs racines possibles. On prend par exemple 512 pour avoir une meilleure récursion. Plusieurs ‘ordres possibles ~ 512 256 128 64 82 16 8 421365712109 11 14 13 15... (correspond & une création en parcours préfixe) ~ 512 256 768 128 384 640 896 64... (correspond & une création de haut en bas) Exercice 5 Profondeur des arbres binaires. 1, Par récurrence sur h, on trouve que c'est S7_g 2* = 2!+t 1, 2, Puisque n < 247 —1, ona 24 > n +1 done h > [loga(n+ 1)] — 1 3. Soit p(h) la profondeur moyenne d'un neeud de l'arbre binaire complet de hauteur h. Ala profondeur é (la racine étant & profondeur 0) on trouve 2 noouds (puisque chaque noeud a deux fils, on double en descendant @’un niveau). La somme des profondeurs des nceuds, jusqu’® profondeur f, est done ih St Coup de baguette magique, 2-143 On “devine” difficilement cette identité mais on la prouve facilement par récurrence. On obtient la ‘moyenne en divisant cette somme par le nombre de noeuds, qui est. 2+? — 1 et il vient p(k) =h+ Att ceca Quand h devient grand, la fraction tend vite vers 0 et il reste un terme & peine supérieur 8 A~1: la profondeur moyenne est juste 1 de moins que la profondeur maximum. En moyenne, les nceuds sont en bas. Exercice 6 Somme(a) = Si a est vide, renvoyer 0 = Sinon renvoyer Somme(G(a))+Somme(D(a))+Val(a) (Complexité linéaire) Maximum(a) = Si a n’a pas de fils droit (D(a) est vide), renvoyer val(a) = Sinon renvoyer Maximum(D(a)) (Complexité O(h)) Bxercico 7 Si les nombres sont dé triés, la construction de ABR prend 142+8..¢n=O(n?), Ensuite tun parcours les donne en O(n) dans tous les cas. Ce tri semble donc mauvais. Cependant : On verra en cours qu'att mieux et en moyenne Vinsertion est en O(nlogn) ~ Les ABR équilibrés atteignent O(nlogn) dans tous les cas Exercice 8 ~ $i Yéément recherché n'est pas dans le tableau T,, alors on parcourt tout le tableau pour s'en assurer : ta complexité dans tous les cas (pire, meilleur, done moyenne) est m. cases vues. — Maintenant supposons qu’lly soit exactement une fois. Par hypothése il y a une chance sur n qu'il soit fen position 1, une chance sur n qu'il soit dans la deuxiéme ease, etc. On peut supposer que la recherche ‘et un parcours de gauche & droite du tableau (en effet i ce n’est pas le cas, mais qu’on les parcourt felon une permutation o, on peut toujours permuter les cases du tableeu de départ selon ¢ pour arriver tun tableau 7” quion parcourrera de gauche & droite, et la suite des cases visitées sera la méme). Dans dun paroours de gauche 8 droite, s'aréte dés que I’on a trouvé 2. Done le nombre de cases visitées est 8 position de . Puisque chaque position est équiprobable, la moyenne de la position de x est Bn moyenne, élément est au milieu (ce résultat est assez intuitif & cause de la symmétrie du probleme moitié gauche et moitié droite sont autant probebles). Bn combinant les morceau, la quantité moyenne de recherches est ati, ptt pt (pipe en done linéaire en n, et compris entre n/2 et n quelle que soit la probabilité p d'absence de 2.

You might also like