Terminal S ARBRES et CODAGES Informatique
et Systèmes
Numériques
LES ARBRES
INTRODUCTON (récupérée sur le Web) :
Les arbres sont principalement la structure de donnée utilisés pour stocker des données ordonnées et, d’après Knuth, la plus
importante structure non-linéaire intervenant dans l’informatique. Ils sont très utilisés dans tous les domaines, parce que bien
adaptés à la représentation naturelle d’information organisée homogène, et d’une grande rapidité et commodité de manipulation.
On trouve cette structure dans tous les domaines de l’informatique, que ce soit par exemple en compilation (arbres syntaxiques
pour représenter les expressions ou productions possibles d’un langage), en imagerie (les arbres quaternaires), en algorithmique
(par exemple, elle est le support de méthodes de tris ou de gestion d’information en tables) ou encore dans les domaines de
l’intelligence artificielle (arbres de jeux, arbres de décisions, de résolution, etc.).
Les réponses de ce TP sont à rédiger sur une feuille de copie
Depuis tout temps, on sait représenter un arbre…
Il est constitué de racines, d’un tronc, de branches et de feuilles.
Dessinez donc sur votre feuille de copie, et en introduction de ce TP, votre plus bel arbre.
En informatique, nous utiliserons ces désignations pour représenter un arbre mais la représentation sera
inversée : la racine sera placé en haut, il n’y aura pas de tronc mais des nœuds pour faire partir des branches
puis aux extrémités des branches, les feuilles (en bas donc).
Exemple :
Le nombre de branches par nœuds peut être quelconque
et l’arbre peut ne pas être « équilibré » et / ou « complet ».
Pour ce TP, nous nous intéresserons uniquement aux arbres
binaires : une ou deux branches par nœud.
Au niveau le plus élevé, il y a donc un nœud racine. Au niveau directement inférieur, il y a au plus deux
nœuds fils. En continuant à descendre aux niveaux inférieurs, on peut en avoir quatre, puis huit, seize, etc.
c'est-à-dire la suite des puissances de deux. Un nœud n'ayant aucun fils est appelé feuille. Le nombre de
niveaux total, autrement dit la distance entre la feuille la plus éloignée et la racine, est appelé hauteur de
l'arbre. Le niveau d'un nœud est appelé profondeur.
Revenons à notre premier exercice de cette année : « le nombre mystérieux » : découvrir un nombre entre
0 et 100. Nous avons évoqué, pour trouver la solution avec le moins de coup possible, la formulation
suivante : « Diviser pour mieux régner ».
1- Avec les indications ci-dessous, vous allez représentez l’arbre binaire qui permet de représenter le
nombre de coup pour trouver un nombre mystérieux.
Pour faire simple, vous ne développerez que la branche de gauche de chaque nœud.
Le premier coup étant 50 ( (100 + 0) / 2, diviser pour mieux régner ), la racine de notre arbre sera le nombre
50, de profondeur 1. Ensuite, chaque nœud fils sera défini suivant les équations ci-dessous:
fils gauche fils droite
arrondi [ père - ( père / 2 ) ] et arrondi [ père + ( père / 2 ) ]
2- Avec cette représentation, il est donc possible de définir la hauteur de l’arbre qui permet de trouver
le nombre de coup maximum pour la recherche du nombre mystérieux. Quelle est la hauteur de cet
arbre ?