Exercices de programmation pour classes préparatoires
É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.
| Appel | Ré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 |
Connectez-vous pour soumettre du code.