Utiliser Python pour déterminer les mesures des arbres binaires
- Fiche de cours
- Quiz et exercices
- Vidéos et podcasts
- Utiliser Python pour déterminer la taille d’un arbre binaire.
- Utiliser Python pour déterminer la hauteur d’un arbre binaire.
- La taille et la hauteur d’un arbre binaire se calculent récursivement.
- La taille et la hauteur d’un arbre binaire vide valent 0.
- La taille d’un arbre binaire non vide vaut :
1 + taille(sous-arbre gauche) + taille(sous-arbre droit).
- La hauteur d’un arbre binaire non vide
vaut :
1 + max(hauteur(sous-arbre gauche), hauteur(sous-arbre droit)).
- Comprendre la structure hiérarchique et le vocabulaire des arbres binaires.
- Étudier et implémenter un arbre binaire.
- Utiliser la récursivité en Python.
Pour la calculer, on peut utiliser la représentation récursive des arbres binaires.
- soit vide : sa taille sera égale à 0.
- soit non vide : dans ce cas,
a sera
composé de sa racine, de son
sous-arbre gauche et de son sous-arbre
droit.
Sa taille sera donc :1 + taille(sous-arbre gauche) + taille(sous-arbre droit)
Voici ci-dessous un algorithme de la fonction récursive de calcul de la taille d’un arbre binaire a.
Algorithme | Explication |
Fonction taille(AB a): | On définit la fonction taille qui prend pour paramètre un arbre binaire a de type AB (arbre binaire). |
Si est_vide(a), alors retourner 0 |
Si a est vide, on retourne 0. |
Sinon, retourner 1 + taille(sag(a)) + taille(sad(a)) |
Sinon on retourne la somme de 1 (racine), de la taille de son sous-arbre gauche et de la taille de son sous-arbre droit. |
FinSi | Fin de l’instruction conditionnelle |
est_vide(a) vaut ici Vrai si a est vide et Faux sinon.
sag(a) représente le sous-arbre gauche de a et sad(a) représente son sous-arbre droit.
En Python, la fonction taille(arbre) implémente le calcul de la taille de l’arbre arbre.
Python | Explication |
def taille(arbre): | On définit la fonction taille. |
if arbre.est_vide(): | Si l’arbre est vide, |
return 0 | retourner 0, |
else: | Sinon |
return 1 + taille(arbre.sag) + taille(arbre.sad) |
retourner la somme de 1, de la taille de son sous-arbre gauche et de la taille de son sous-arbre droit. |
On considère l’arbre binaire suivant.
taille(a) renvoie bien 6 (il y a 6 nœuds).
Pour la calculer, on utilise la représentation récursive des arbres binaires.
- soit vide : sa hauteur sera égale à 0 ;
- soit non vide : dans ce cas, la racine de
a correspond à 1 niveau. Il
suffit ensuite d’ajouter le maximum de la
hauteur de ses sous-arbres.
Sa hauteur sera donc :
1 + max(hauteur(sous-arbre gauche), hauteur(sous-arbre droit))
Voici ci-dessous un algorithme de la fonction récursive du calcul de la hauteur d’un arbre binaire a.
Algorithme | Explication |
Fonction hauteur(AB a) : | On définit la fonction hauteur qui prend pour paramètre un arbre binaire a de type AB (arbre binaire). |
Si est_vide(a), alors retourner 0 |
Si a est vide, on retourne 0. |
Sinon, retourner 1 + max(hauteur(sag(a)), hauteur(sad(a))) |
Sinon on retourne la somme de 1 (racine) et du maximum de la hauteur de son sous-arbre gauche et de la hauteur de son sous-arbre droit. |
FinSi | Fin de l’instruction conditionnelle |
En Python, la fonction hauteur(arbre) implémente le calcul de la taille de l’arbre arbre.
Python | Explication |
def hauteur(arbre): | On définit la fonction hauteur |
if arbre.est_vide(): | Si l’arbre est vide, |
return 0 | retourner 0, |
else: | Sinon |
return 1 + max(hauteur(arbre.sag), hauteur(arbre.sad)) |
retourner la somme de 1 et du maximum de la hauteur de son sous-arbre gauche et de la hauteur de son sous-arbre droit. |
On considère l’arbre binaire suivant.
hauteur(a) renvoie bien 4 (il y a 4 niveaux).
Sa taille sera 2h – 1.
On étudie l’arbre binaire suivant.
- La hauteur de cet arbre complet est
h = 3 et il a
bien :
2h –1 = 23 – 1 = 4 feuilles. - La taille de cet arbre est bien 2h – 1 = 23 – 1 = 7.
Des quiz et exercices pour mieux assimiler sa leçon
La plateforme de soutien scolaire en ligne myMaxicours propose des quiz et exercices en accompagnement de chaque fiche de cours. Les exercices permettent de vérifier si la leçon est bien comprise ou s’il reste encore des notions à revoir.
Des exercices variés pour ne pas s’ennuyer
Les exercices se déclinent sous toutes leurs formes sur myMaxicours ! Selon la matière et la classe étudiées, retrouvez des dictées, des mots à relier ou encore des phrases à compléter, mais aussi des textes à trous et bien d’autres formats !
Dans les classes de primaire, l’accent est mis sur des exercices illustrés très ludiques pour motiver les plus jeunes.
Des quiz pour une évaluation en direct
Les quiz et exercices permettent d’avoir un retour immédiat sur la bonne compréhension du cours. Une fois toutes les réponses communiquées, le résultat s’affiche à l’écran et permet à l’élève de se situer immédiatement.
myMaxicours offre des solutions efficaces de révision grâce aux fiches de cours et aux exercices associés. L’élève se rassure pour le prochain examen en testant ses connaissances au préalable.
Des vidéos et des podcasts pour apprendre différemment
Certains élèves ont une mémoire visuelle quand d’autres ont plutôt une mémoire auditive. myMaxicours s’adapte à tous les enfants et adolescents pour leur proposer un apprentissage serein et efficace.
Découvrez de nombreuses vidéos et podcasts en complément des fiches de cours et des exercices pour une année scolaire au top !
Des podcasts pour les révisions
La plateforme de soutien scolaire en ligne myMaxicours propose des podcasts de révision pour toutes les classes à examen : troisième, première et terminale.
Les ados peuvent écouter les différents cours afin de mieux les mémoriser en préparation de leurs examens. Des fiches de cours de différentes matières sont disponibles en podcasts ainsi qu’une préparation au grand oral avec de nombreux conseils pratiques.
Des vidéos de cours pour comprendre en image
Des vidéos de cours illustrent les notions principales à retenir et complètent les fiches de cours. De quoi réviser sa prochaine évaluation ou son prochain examen en toute confiance !