com/BErika/PSTL_TreeDisplay. Afin de simplifier l’installation des bibliothèques générant l’images,
commenter l’import des bibliothèques toNetworkX et toAsymptote au sein du fichier treeDisplay.py.
On n’utilisera que la création de fichier tikz afin de tester la robustesse de l’outil.
Question 1.6.2En explorant le code de treeDisplay, on peut exhiber un problème de robustesse :
quel est-il ?
Question 1.6.3En utilisant la génération d’arbres uniformes à la Rémy, tenter de mettre à bout la
robustesse de l’outil d’affichage. On ne se contentera pas d’un seul arbre arrivant à bout du visualiseur,
mais de plusieurs qui seront à la limite : pour certains, le l’outil est capable de générer l’arbre, mais
pas pour d’autres.
Question 1.6.4Analyser les caractéristiques de ces arbres-limites.
Question 1.6.5Expérimentalement, que conclure de ces résultats concernant la robustesse du
visualiseur dans le contexte de la génération uniforme d’arbres binaires ?
2 Arbres binaires de recherche
Ce TD a pour but l’étude de la profondeur moyenne des feuilles dans les Arbres Binaires de Recherche
(ABR). Nous rappelons qu’un ABR est une structure arborescente telle que chaque nœud interne
contient une clé. Pour un nœud interne contenant la clé r, son sous-arbre gauche ne contient que des
clés plus petites que ralors que son sous-arbre droit ne possède que des clés plus grandes que r.
2.1 Généralités
Un ABR est une structure dynamique dans laquelle on insère au fur et à mesure des clés. La taille
de l’arbre est son nombre de nœuds internes, c’est-à-dire le nombre de clés qu’il contient.
— L’arbre de départ est l’arbre ne contenant qu’une feuille, donc de taille 0.
— À l’étape i, on souhaite insérer la clé ridans l’arbre déjà construit et contenant i−1clés. En
comparant riaux nœuds internes rencontrés depuis la racine, on descend soit dans le fils gauche,
soit dans le fils droit. Dès qu’on tombe sur une feuille, on remplace cette feuille par un nœud
interne étiqueté par riet dont les fils gauche et droit sont chacun réduit à une feuille.
Exercice 2.7: Ensemble de clés
On peut montrer que toute suite de nclés distinctes pour lesquelles il existe un ordre total (toutes
sont comparables) peut s’identifier à une suite sur les entiers de 1àn. Donc, on n’utilisera que les
suites des entiers de 1ànen tant que clés.
Question 2.7.1Combien existe-t-il de suites de longueur ncontenant les nentiers de 1àn?
Exercice 2.8: Ordre d’insertion
Question 2.8.1Construire l’ABR obtenu après insertion des clés 1,2,3,4,5.
Question 2.8.2Construire l’ABR obtenu après insertion des clés 4,2,3,1,5.
Question 2.8.3Construire l’ABR obtenu après insertion des clés 4,2,3,5,1.
Question 2.8.4Quelle conclusion importante tirer des trois questions précédentes ?
Exercice 2.9: Arbres de Catalan
On rappelle qu’un arbre de Catalan est un arbre binaire (non étiqueté). Le nombre d’arbres de
Catalan de taille n(nombre de nœuds internes) est 1
n+1 2n
n.
Question 2.9.1Prouver que tout arbre de Catalan correspond à la structure arborescente d’au
moins un ABR.
3