68 lines
2.3 KiB
Markdown
68 lines
2.3 KiB
Markdown
|
|
## Évaluation Terminale NSI : Arbres et Arbres Binaires
|
|||
|
|
|
|||
|
|
### Exercice 1 : L'arbre généalogique loufoque
|
|||
|
|
|
|||
|
|
Le grand sorcier Archimagicus a perdu son arbre généalogique ! Il ne se souvient que de quelques relations de parenté et a noté les informations suivantes :
|
|||
|
|
|
|||
|
|
1. Il a deux enfants : Merlin et Morgane.
|
|||
|
|
2. Merlin a lui-même deux enfants : Gandalf et Saroumane.
|
|||
|
|
3. Morgane a une fille, Circé.
|
|||
|
|
4. Gandalf et Circé ont un fils : Harry.
|
|||
|
|
|
|||
|
|
Représente cet arbre sous forme d'un schéma d'arbre binaire (même si certains n’ont qu'un seul enfant). Puis, détermine :
|
|||
|
|
|
|||
|
|
- Le niveau de chaque personnage.
|
|||
|
|
- La hauteur de l'arbre.
|
|||
|
|
- Si l’arbre est un arbre binaire de recherche.
|
|||
|
|
|
|||
|
|
---------------
|
|||
|
|
|
|||
|
|
### Exercice 2 : Un arbre de décisions absurde
|
|||
|
|
|
|||
|
|
On considère l’arbre de décision suivant :
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
Est-ce urgent ?
|
|||
|
|
/ \
|
|||
|
|
Travail ou Loisir ? Ignorer la demande
|
|||
|
|
/ \
|
|||
|
|
Envoyer Form. Reporter
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- Implémente cet arbre sous forme de structure en Python.
|
|||
|
|
- Écris une fonction permettant de parcourir cet arbre et d’afficher les décisions possibles.
|
|||
|
|
|
|||
|
|
-----------
|
|||
|
|
|
|||
|
|
### Exercice 3 : Un arbre de quêtes pour un RPG
|
|||
|
|
|
|||
|
|
Un jeu de rôle utilise un arbre pour gérer ses quêtes :
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
Trouver l'épée sacrée
|
|||
|
|
/ \
|
|||
|
|
Explorer la grotte Chercher le vieux sage
|
|||
|
|
/ \ / \
|
|||
|
|
Combattre Fuir Récupérer un sort Demander un conseil
|
|||
|
|
un troll
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- Représente cet arbre sous forme de structure Python.
|
|||
|
|
- Écris une fonction permettant d’afficher toutes les quêtes accessibles à partir d’un point donné.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Exercice 4 : Un défi algorithmique avancé
|
|||
|
|
|
|||
|
|
Un arbre binaire est complet si tous ses niveaux, sauf éventuellement le dernier, sont complètement remplis, et si tous les nœuds sont alignés le plus à gauche possible.
|
|||
|
|
|
|||
|
|
### Question :
|
|||
|
|
- Écris une fonction récursive permettant de vérifier si un arbre est **complet**.
|
|||
|
|
- Écris une autre fonction qui calcule le nombre minimum d’opérations nécessaires pour transformer un arbre quelconque en arbre binaire complet.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Exercice 5 : Un jeu ancien et les arbres
|
|||
|
|
|
|||
|
|
Quel est le jeu stratégique ancien qui pourrait voir tous ses coups représentés sous forme d'un arbre ?
|
|||
|
|
Explique pourquoi et propose une manière de représenter cet arbre en Python.
|