Adloun

OCaml (option informatique) · Chapitre 3 · Exercice de TD

Hauteur d'un arbre

Types sommes et arbres · niveau 2

Énoncé

Écrire hauteur a : pour l'arbre vide, et de plus que la hauteur du plus haut des deux sous-arbres sinon.

Corrigé

let rec hauteur a =
  match a with
  | Vide -> 0
  | Noeud (g, _, d) ->
      let hg = hauteur g and hd = hauteur d in
      1 + (if hg > hd then hg else hd)

On nomme les deux hauteurs (let ... and ...) pour ne les calculer qu'une fois chacune, puis on prend la plus grande. L'arbre vide a hauteur 0, une feuille hauteur 1.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre