Prépa Code Connexion Inscription

Exercices de programmation pour classes préparatoires

← Retour aux exercices

Vérification d'ABR

ocaml ★★★☆☆

Écrire une fonction est_abr : int arbre -> bool qui renvoie true si l'arbre est un arbre binaire de recherche (ABR) valide, false sinon.

Un ABR vérifie : pour chaque nœud de valeur v, toutes les valeurs du sous-arbre gauche sont strictement inférieures à v, et toutes celles du sous-arbre droit sont supérieures ou égales à v.

Attention : il ne suffit pas de comparer un nœud à ses fils directs — il faut vérifier la contrainte sur l'ensemble du sous-arbre. On pourra utiliser une fonction auxiliaire avec des bornes borne_min et borne_max.

Exemples

AppelRésultat attendu
est_abr (N(5, N(3, Vide, Vide), N(8, Vide, Vide))) True
est_abr (N(5, N(7, Vide, Vide), N(8, Vide, Vide))) False

Votre code

Connectez-vous pour soumettre du code.