Exercice 3 - Partie 1 · Bac Numérique et Sciences Informatiques Métropole 2023 (sujet 2)
Thème : Arbres : vocabulaire, mesures et algorithmique · Tiré du sujet Métropole France 2 (2023)
Énoncé
EXERCICE 3 (6 points)
Cet exercice porte sur les arbres binaires, les files et la programmation orientée objet.
Cet exercice comporte deux parties indépendantes.
PARTIE 1
Une entreprise stocke les identifiants de ses clients dans un arbre binaire de recherche.
On rappelle qu’un arbre binaire est composé de nœuds, chacun des nœuds possédant éventuellement un sous-arbre gauche et éventuellement un sous-arbre droit.
La taille d’un arbre est le nombre de nœuds qu’il contient. Sa hauteur est le nombre de nœuds du plus long chemin qui joint le nœud racine à l’une des feuilles. On convient que la hauteur d’un arbre ne contenant qu’un nœud vaut 1 et celle de l’arbre vide vaut 0.
Dans cet arbre binaire de recherche, chaque nœud contient une valeur, ici une chaine de caractères, qui est, avec l’ordre lexicographique (celui du dictionnaire):
strictement supérieure à toutes les valeurs des nœuds du sous-arbre gauche;
strictement inférieure à toutes les valeurs des nœuds du sous-arbre droit.
Ainsi les valeurs de cet arbre sont toutes distinctes.
On considère l’arbre binaire de recherche suivant:
1.
Donner la taille et la hauteur de l'arbre binaire de recherche de la figure 1.
2.
Recopier cet arbre après l'ajout des identifiants suivants: 'davidbg' et 'papicoeur' dans cet ordre.
3.
On décide de parcourir cet arbre pour obtenir la liste des identifiants dans l'ordre lexicographique.
Recopier la lettre correspondant au parcours à utiliser parmi les propositions suivantes:
4.
Pour traiter informatiquement les arbres binaires, nous allons utiliser une classe ABR.
Un arbre binaire de recherche, nommé abr dispose des méthodes suivantes:
abr.est_vide(): renvoie True si abr est vide et False sinon.
abr.racine(): renvoie l'élément situé à la racine de abr si abr n'est pas vide et None sinon.
abr.sg(): renvoie le sous-arbre gauche de abr s'il existe et None sinon.
abr.sd(): renvoie le sous-arbre droit de abr s'il existe et None sinon.
On a commencé à écrire une méthode récursive present de la classe ABR, où le paramètre identifiant est une chaîne de caractères et qui retourne True si identifiant est dans l'arbre et False sinon.
1 def present(self, identifiant):
2 if self.est_vide():
3 return False
4 elif self.racine() == identifiant:
5 return...
6 elif self.racine() < identifiant:
7 return self.sd()....
8 else:
9 return...
Recopier et compléter les lignes 5, 7 et 9 de cette méthode.

Corrigé
Corrigé proposé par AprenAI (non officiel)
1. Donner la taille de l'arbre binaire de recherche de la figure 1.
Réponse : 5
1. Donner la hauteur de l'arbre binaire de recherche de la figure 1.
Réponse : 3
2. Recopier cet arbre après l'ajout des identifiants suivants : 'davidbg' et 'papicoeur' dans cet ordre.
Réponse : Arbre binaire de recherche complété : - `'davidbg'` : comparé à `'dfifi'` (plus petit, va à gauche), comparé à `'annieji'` (plus grand, va à droite), comparé à `'celine'` (plus grand, va à droite). `'davidbg'` devient l'enfant droit de `'celine'`. - `'papicoeur'` : comparé à `'dfifi'` (plus grand, va à droite), comparé à `'helene'` (plus grand, va à droite). `'papicoeur'` devient l'enfant droit de `'helene'`.
3. Recopier la lettre correspondant au parcours à utiliser parmi les propositions suivantes
Réponse : C - Parcours en profondeur dans l'ordre infixe
Les réponses des 3 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 3 - Arbres binaires de recherche · Métropole 2024 (sujet 1) · Exercice 4 · Métropole 2022 (sujet 1) ›
Plus d’exercices d’Arbres : vocabulaire, mesures et algorithmique
- Exercice 3 - Partie A · Métropole 2026 (sujet 1)
- Exercice 3 - Partie D : Arbres binaires de recher… · Métropole 2025 (sujet 1)
- Exercice 1 · Métropole 2025 (sujet 2)
- Exercice 3 - Arbres binaires de recherche · Métropole 2024 (sujet 1)
- Exercice 4 · Métropole 2022 (sujet 1)
- Exercice 1 · Métropole 1 remplacement 2022
- Exercice 1 · Métropole 2022 (sujet 2)
- Exercice 2 · Métropole 2 remplacement 2022
- Exercice 3 · Métropole Candidat libre 2021 (sujet 2)
- Exercice 1 · Métropole 2021 (sujet 1)