Exercice 3 · Bac Numérique et Sciences Informatiques Amérique du Nord 2022 (jour 1)
Thème : Arbres : vocabulaire, mesures et algorithmique · Tiré du sujet Jour 1 (2022)
Énoncé
Exercice 3 (4 points)
Cet exercice porte sur les arbres binaires de recherche et leurs algorithmes associés.
Les arbres binaires de recherche considérés ici sont des arbres binaires où les nœuds désignent des chaînes de caractères et pour lesquelles la valeur de chaque nœud est supérieure à celles des nœuds de son enfant gauche, et inférieure à celles des nœuds de son enfant droit.
La relation d'ordre notée < est ici la relation d'ordre alphabétique.
Dans cet exercice, on utilisera la convention suivante: la hauteur d'un arbre binaire ne comportant qu'un nœud est 1.
Dans cet exercice les arbres binaires de recherche ne contiennent que des noms de pays tous distincts.
On considère l'arbre binaire de recherche suivant:
1. (a)
1. (b)
1. (c)
Recopier l'arbre après l'ajout de "Allemagne", de "Portugal" et de "Luxembourg" dans cet ordre.
Pour les questions 2, 3 et 4, on traite l'arbre initial, donc sans l'ajout de "Allemagne", "Portugal" et "Luxembourg".
2.
3.
On souhaite écrire une fonction pour déterminer si le nom d'un pays est dans l'arbre.
On dispose pour cela de:
la fonction est_vide qui prend en paramètre un arbre arb. Cette fonction renvoie True si l'arbre arb est vide, False sinon;
la fonction gauche qui prend en paramètre un arbre arb et renvoie son sous-arbre gauche.
Exemple: si A est notre arbre initial, gauche(A) renvoie:
la fonction droite, qui prend en paramètre un arbre arb et renvoie son sous-arbre droit.
Exemple: si A est notre arbre initial, droite(A) renvoie:
la fonction racine, qui prend en paramètre un arbre arb et qui renvoie la valeur de la racine de l'arbre.
Exemple: racine(A) renvoie "Italie".
Recopier, en complétant les lignes 2, 6, 7 et 10, la fonction recherche donnée ci-dessous et écrite en Python:
1 def recherche(arb, val):
2 """ ------------------ """
3 if est_vide(arb):
4 return False
5 if val == racine(arb):
6 return --------
7 if val --------------:
8 return recherche(gauche(arb), val)
9 else:
10 return --------
4.
Écrire une fonction récursive taille permettant de déterminer le nombre de pays présents dans un arbre.
Cette fonction prendra en paramètre un arbre arb et renverra un entier.

Corrigé
Corrigé proposé par AprenAI (non officiel)
1. (a) Donner sans justification la hauteur de cet arbre.
Réponse : 3
1. (b) Donner sans justification la valeur booléenne de l'expression "Allemagne" < "Portugal".
Réponse : True
1. (c) Recopier l'arbre après l'ajout de "Allemagne", de "Portugal" et de "Luxembourg" dans cet ordre.
Réponse : L'arbre obtenu contient les ajouts suivants : - "Allemagne" est inséré comme enfant gauche de "Autriche" (car "Allemagne" < "Italie", "Allemagne" < "France", "Allemagne" < "Autriche"). - "Portugal" est inséré comme enfant droit de "Norvege" (car "Portugal" > "Italie", "Portugal" < "Suede", "Portugal" > "Norvege"). - "Luxembourg" est inséré comme enfant gauche de "Norvege" (car "Luxembourg" > "Italie", "Luxembourg" < "Suede", "Luxembourg" < "Norvege").
2. Indiquer l'ordre de visite des nœuds lors d'un parcours en largeur.
Réponse : "Italie", "France", "Suede", "Autriche", "Hongrie", "Norvege"
3. Ligne 2 : documentation / spécification de la fonction recherche
Réponse : Renvoie True si val est dans arb, False sinon
Les réponses des 4 questions restantes et l’explication pas à pas sont réservées aux membres Premium. Premium
Résous-le ici : correction automatique, indices et corrigé détaillé.
‹ Exercice 2 · Amérique du Nord 2023 (jour 2) · Exercice 1 - Arbres · Amérique du Nord 2022 (jour 2) ›
Plus d’exercices d’Arbres : vocabulaire, mesures et algorithmique
- Exercice 1 · Amérique du Nord 2025 (jour 1)
- Exercice 1 - Arbres binaires · Amérique du Nord 2025 (jour 2)
- Exercice 2 · Amérique du Nord 2025 (jour 2 bis)
- Exercice 3 - Arbres binaires de recherche · Amérique du Nord 2023 (jour 1)
- Exercice 2 · Amérique du Nord 2023 (jour 2)
- Exercice 1 - Arbres · Amérique du Nord 2022 (jour 2)
- Exercice 4 · Amérique du Nord 2022 (jour 2)
- Exercice 4 · Amérique du Nord 2021 (jour 1)