Exercice 1 · Bac Numérique et Sciences Informatiques Métropole 1 remplacement 2022
Thème : Arbres : vocabulaire, mesures et algorithmique · Tiré du sujet Métropole France 1 remplacement (2022)
Énoncé
EXERCICE 1 (4 points)
Cet exercice porte sur le thème « Algorithmique », les arbres binaires de recherche et leurs parcours.
Rappel
Un arbre binaire de recherche (ABR) est un arbre binaire étiqueté avec des clés tel que:
Les clés du sous arbre gauche sont inférieures ou égales à celle de la racine;
Les clés du sous arbre droit sont strictement supérieures à celle de la racine;
Les deux sous arbres sont eux-mêmes des arbres binaires de recherche.
Partie A: Préambule
1)
Recopier sur votre copie le ou les numéro(s) correspondant aux arbres binaires de recherche parmi les arbres suivants:
Partie B: Analyse
On considère la structure de données abstraites ABR (Arbre Binaire de Recherche) que l'on munit des opérations suivantes:
Structure de données: ABR
Utilise: Booleen, Element
Opérations:
• creer_arbre: ∅ → ABR
creer_arbre() renvoie un arbre vide.
• est_vide: ABR → Booleen
est_vide(a) renvoie True si l'arbre a est vide et False sinon.
• racine: ABR → Element
racine(a) renvoie la clé de la racine de l'arbre non vide a.
• sous_arbre_gauche: ABR → ABR
sous_arbre_gauche(a) renvoie le sous-arbre gauche de l'arbre non vide a.
• sous_arbre_droit: ABR → ABR
sous_arbre_droit(a) renvoie le sous-arbre droit de l'arbre non vide a.
• inserer: ABR, Element → Rien
inserer(a, e) insère la clé e dans l'arbre a.
2.a)
Pour rechercher une clé dans un ABR, il faut comparer la clé donnée avec la clé située à la racine. Si cette clé est à la racine, la fonction renvoie vrai sinon il faut procéder récursivement sur les sous arbres à gauche ou à droite.
2.b)
def RechercheValeur(cle, a):
3.
On considère l'ABR ci-contre:

Corrigé
Corrigé proposé par AprenAI (non officiel)
1) Recopier sur votre copie le ou les numéro(s) correspondant aux arbres binaires de recherche parmi les arbres suivants :
Réponse : Arbre 1
2.a) Dans un ABR, où se trouve le plus petit élément ? Justifier.
Réponse : Le plus petit élément se trouve au nœud le plus à gauche de l'arbre.
2.b) En utilisant les fonctions ci-dessus, écrire une fonction récursive RechercheValeur prenant en arguments la clé recherchée et l'arbre ABR considéré. Cette fonction retourne un booléen (vrai ou faux) indiquant si la clé est présente dans l'arbre ou non.
Réponse : ```python if est_vide(a): return False elif racine(a) == cle: return True elif cle <= racine(a): return RechercheValeur(cle, sous_arbre_gauche(a)) else: return RechercheValeur(cle, sous_arbre_droit(a)) ```
3.a) Dire à quel type de parcours correspond le résultat suivant où les clés sont triées dans l'ordre croissant : 1 - 2 - 3 - 5 - 6 - 7 - 8 - 9 - 10
Réponse : Parcours 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 4 · Métropole 2022 (sujet 1) · Exercice 1 · Métropole 2022 (sujet 2) ›
Plus d’exercices d’Arbres : vocabulaire, mesures et algorithmique
- 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 3 - Partie 1 · Métropole 2023 (sujet 2)
- Exercice 4 · Métropole 2022 (sujet 1)
- 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)
- Exercice 5 · Métropole 1 remplacement 2021