Thông tin

Tác giả Pierre Dupont
Hạn chót 01/09/2026 16:00:00
Giới hạn nộp bài Không có giới hạn

Đăng nhập

[Examen Blanc] Tâche 4 : Calculer la hauteur d'un arbre binaire

On vous demande d'écrire le corps de la fonction height en respectant les spécifications de cette fonction.

def height(tree):
    """
    pre: `tree` est un `BinaryTree`
    post: renvoie la hauteur de l'arbre,
          renvoie '-1' si l'arbre est vide.
          L'arbre `tree`, passé en argument, ne peut *pas* être modifié.
    """
Notez que votre code Python (sous-question 4) ne sera évalué que lorsque vous aurez correctement répondu aux questions de validation proposées.
Ces questions de validation ont pour but d'assurer que vous avez correctement compris les spécifications de la fonction height.
Vous êtes invités à répondre à ces questions de validation et à cliquer sur submit avant toute modification du corps de la fonction height (sous-question 4).

Pour ces questions de validation, on considère l'arbre binaire représenté à la figure suivante :

https://inginious.info.ucl.ac.be/course/LINFO1103/exam_blanc_4/bt_example.png

Câu hỏi 1: Question de validation 1
Quelle est la hauteur de l'arbre global ayant la lettre A à sa racine ?

Attention : votre réponse doit être un nombre entier.

Câu hỏi 2: Question de validation 2
Quelle est la hauteur du sous-arbre ayant la lettre C à sa racine ?

Attention : votre réponse doit être un nombre entier.

Câu hỏi 3: Question de validation 3
Quelle est la hauteur du sous-arbre ayant la lettre P à sa racine ?

Attention : votre réponse doit être un nombre entier.

Câu hỏi 4: Calculer la hauteur d'un arbre binaire
Ecrivez le corps de la fonction height(tree) en respectant les spécifications de cette fonction.
Copiez-collez uniquement le corps de votre fonction en lieu et place du mot clé pass ci-dessous.
Attention : votre implémentation doit être récursive.

Pour répondre à cette sous-question, vous avez besoin d'une implémentation de BinaryTree.
Une implémentation, telle que vue en cours, vous est fournie en suivant ce lien et a été directement importée pour vous.
Dès lors, dans le code de la fonction height, vous pouvez faire directement appel aux méthodes de la classe BinaryTree.

Les tests de votre implémentation sont faits en supposant les préconditions vérifiées.

Il est important de tester votre implémentation avant de soumettre votre réponse. Vous pouvez effectuer ces tests
via un IDE comme Thonny ou accéder à une console de test sur Inginious.


def height(tree):
    """
    pre: `tree` est un `BinaryTree`
    post: renvoie la hauteur de l'arbre,
          renvoie '-1' si l'arbre est vide.
          L'arbre `tree`, passé en argument, ne peut *pas* être modifié.
    """