• Aucun résultat trouvé

TD 3 : Arbres binaires de recherche

N/A
N/A
Protected

Academic year: 2022

Partager "TD 3 : Arbres binaires de recherche"

Copied!
3
0
0

Texte intégral

(1)

TD 3 : Arbres binaires de recherche

28 Septembre 2017

1 Arbre binaire de recherche symétrique

Question 1 – Écrire la fonction SYMÉTRIQUEqui prend en paramètre un arbre binaire de rechercheT et renvoie son symétrique (voir Fig. 1 et Fig. 2). Quelle est sa complexité en fonction de la taille deT?

4

2

1 3

6

5

Figure 1 – Un arbre binaireT.

4

6

5

2

3 1

Figure 2 – L’arbre symétrique de T.

2 Procédures d’ajout d’un élément

Question 2 – On considère dans un premier temps la procédure d’ajout d’un élément dans un arbre binaire de recherche vue en cours. À quel endroit dans l’arbre l’élément est-il ajouté ? Question 3 – Proposer une procédure d’ajout d’un élément à la racine d’un arbre binaire de recherche. On pourra pour ce faire utiliser une procédure intermédiaire.

Question 4 – Ajouter successivement 10,4et 16 à la racine de l’arbreAde laFigure 3.

Question 5 – Discuter de l’avantage d’une telle procédure d’ajout en comparaison à la procédure d’ajout aux feuilles vue en cours.

3 Extraction d’une plage de valeur

Question 6 – Ecrire une fonctionINTERVALLE(A, min, max) qui prend en entrée un arbre de recherche A et deux entiers min et max, puis renvoie un arbre de recherche qui contient toutes les clés deA appartenant à l’intervalle[min, max].

(2)

L3 R&I ALGO1 2016–2017

7

3

1 5

15

12

8

11

17

Figure 3 – Un arbre binaire de recherche A.

4 Complexité moyenne des algorithmes sur les ABR

Le but de cet exercice est de montrer que les procédures de recherche, d’ajout et de suppression dans un arbre binaire de recherche sont, en moyenne, de complexité logarithmique.

Pour cela, nous avons besoin d’un modèle rigoureux de la phrase : « en moyenne un arbre binaire de recherche possédantnéléments distincts est de la forme. . . ». Ce modèle est fourni par lesABRn.

La classe ABRn représente les arbres binaires de recherche qui possèdent n éléments distincts, et est définie récursivement par :

— l’arbre vide est un ABR0,

— pour toutn≥1, siA∈ABRn, alorsAa été obtenu par ajout aux feuilles d’un élément dans un arbre appartenant àABRn−1.

Question 7 – Construire ABR3.

Un ABRn est donc obtenu par ajouts (aux feuilles) successifs de n éléments distincts a1, . . . , an. L’ordre d’ajout desai détermine la forme de l’ABRn que l’on considère.

Question 8 – Combien y a-t-il d’ordres d’ajout différents ? SiT est un ABR, on définit :

— LCE(T) =P

fp(f), la somme des profondeurs des feuilles deT,

— P E(T)la profondeur moyenne des feuilles de T,

— P Enla profondeur moyenne d’ajout dans un arbreABRn.

On cherche à obtenir une formule de récurrence liantP EnàP En−1. Pour ce faire, on définit

2

(3)

L3 R&I ALGO1 2016–2017

le complétéTcd’un arbre T comme l’arbreT auquel on ajoute des feuilles carrées à chaque emplacement où un ajout au feuille est possible (cf.Figure 4 et Figure 5).

4

2 6

5

Figure 4 – Un arbre binaireT.

4

2 6

5

Figure 5 –Tcle complété de l’arbreT. Question 9 – SoitT unABRn. Trouver une formule liant P E(Tc)et LCE(Tc).

Question 10 – Soit T un ABRn. Il est obtenu par ajout aux feuilles d’un élément dans un arbre deABRn−1, notéT0. Trouver une formule liant LCE(Tc) et LCE(Tc0).

Question 11 – Prouver que :

P En= 1 (n+ 1)!

X

T∈ABRn

LCE(Tc)

Question 12 – Prouver que

P En−P En−1 = 2 n+ 1 Question 13 – Conclure.

3

Références

Documents relatifs

Pour obtenir un arbre équilibré (gauche, droite), il faut choisir la ville qui va constituer la racine celle qui a un rang de 100. Précisez pourquoi il est nécessaire que la

[r]

La profondeur du nœud ou d’une feuille d’un arbre hétérogène est le nombre d’arêtes du plus court chemin reliant ce nœud ou cette feuille à la racineB. On supposera que β ne contient

• Les intervalles sont stockés dans un arbre binaire de recherche. • La clé utilisée pour comparer les nœuds est l'extrémité gauche

[r]

Remarque : Il se peut que dans certains cas, lorsqu’on connaît les valeurs de f aux bords de l’intervalle d’étude, on puisse aller plus vite mais dans le cas où Max est très

Une stratégie, qui s’avèrera meilleure, consiste à ne poser qu’une question par itération en réutilisant l’une des valeurs obtenues à l’itération précédente pour

Il paraît naturel de tester tout d’abord la solution de 2 points très proches l'un de l'autre au milieu du segment: On détermine alors une pente et on élimine une moitié