Adloun

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.