Valeur maximale d'un arbre binaire
Exercice de TD · niveau 2 · NSI (terminale), chapitre 3 — Les arbres
Énoncé
Valeur maximale d'un arbre binaire.
Écrire une fonction maximum(arbre) qui renvoie la plus grande valeur d'un arbre binaire quelconque (non nécessairement un ABR) contenant des entiers, en supposant l'arbre non vide.
Corrigé
On compare la valeur de la racine aux maximums des deux sous-arbres. Pour gérer les sous-arbres vides, on leur attribue une valeur « neutre » très petite.
def maximum(arbre):
m = arbre.valeur
if arbre.gauche is not None:
m = max(m, maximum(arbre.gauche))
if arbre.droit is not None:
m = max(m, maximum(arbre.droit))
return m
Comme on parcourt tous les nœuds, le coût est . Remarque : dans un ABR, le maximum est plus simple à trouver, c'est le nœud le plus à droite, idée symétrique de celle employée pour supprimer une valeur dans un ABR.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.