Arbres binaires/Exercices/Arbres en language Caml

Arbres en language Caml
Image logo représentative de la faculté
Exercices no1
Leçon : Arbres binaires
Chapitre du cours : Définitions et propriétés

Exercices de niveau 15.

Exo préc. :Sommaire
En raison de limitations techniques, la typographie souhaitable du titre, « Exercice : Arbres en language Caml
Arbres binaires/Exercices/Arbres en language Caml
 », n'a pu être restituée correctement ci-dessus.




Fonctions sur les arbres binaires

modifier
  1. Écrire une fonction nb_feuilles : ('f, 'n) arbre_binaire → int, qui détermine le nombre de feuilles d'un arbre binaire.
  2. Écrire une fonction est_equilibre : ('f, 'n) arbre_binaire → bool, qui détermine si un arbre binaire est équilibré.
  3. Écrire une fonction est_parfait ('f, 'n) arbre_binaire → bool, qui détermine si un arbre binaire est parfait, c'est-à-dire si toutes ses feuilles sont à la même distance de la racine.

Égalité d'arbres

modifier
  1. Écrire une fonction qui teste l'égalité entre deux arbres. La solution utilisant uniquement ( = ) n'est bien sûr pas attendue !
  2. On dit qu'un arbre binaire   figure dans un arbre   s'il lui est égal ou s'il est égal à un sous-arbre de  . Écrire une fonction figure qui permet de calculer si un arbre figure dans un autre.