Aller au contenu

Taille et hauteur d'un arbre⚓︎

Tous les arbres étudiés dans cet exercice sont non-vides.

On représente dans cet exercice les arbres enracinés à l'aide de listes Python dont le premier élément est la valeur de la racine et le second la liste de ses enfants.

Par exemple l'arbre :

📋 Texte
    A
   /|\
  / | \
 B  C  D
 |
 E

est représenté, ici, avec Python, par ["A", [["B", [["E", []]]], ["C", []], ["D", []]]].

Objectif⚓︎

On demande d'écrire les fonctions taille et hauteur prenant en paramètre un arbre répondant à cette représentation et renvoyant :

  • pour la fonction taille le nombre de nœuds de l'arbre ;

  • pour la fonction hauteur la hauteur de l'arbre (longueur, en nombre d'arêtes, du plus long chemin entre la racine et une feuille). Un arbre réduit à sa racine a donc une hauteur de 0.

Exemples⚓︎

🐍 Console Python
>>> taille(["A", [["B", []]]])
2
>>> hauteur(["A", [["B", []]]])
1
>>> taille(["A", [["B", []], ["C", []]]])
3
>>> hauteur(["A", [["B", []], ["C", []]]])
1