Fiches Bristol, Définitions & Cartes Mentales · Bac NSI
Fiches de Révision Haute Fidélité
8 synthèses complètes avec résumés exécutifs, définitions officielles, cartes mentales schématisées et fiches Bristol recto-verso prêtes à imprimer en PDF.
Choisir un chapitre à réviser (8 fiches) :
Fiche de Révision Officielle #1 · Structures de Données
Programme Terminale NSIArbres Binaires & Arbres Binaires de Recherche (ABR)
Résumé Synthétique du Chapitre :Un arbre binaire est une structure de données hiérarchique où chaque nœud possède au plus deux sous-arbres (gauche et droit). Dans un ABR, toutes les clés du sous-arbre gauche sont strictement inférieures à la racine, et celles de droite strictement supérieures, permettant des recherches rapides en O(log N).
Recto : Vocabulaire Fondamental, Encadrements & Parcours
RECTO1. Vocabulaire & Relations Métriques
- Taille N : Nombre total de nœuds. Hauteur h : Nombre de nœuds sur le plus long chemin.
- Arbre équilibré : h = ⌊log₂(N)⌋ + 1 (hauteur minimale).
- Arbre dégénéré / peigne : h = N (comportement d'une liste chaînée).
- Encadrement fondamental : log₂(N + 1) ≤ h ≤ N.
2. Les 4 Parcours d'Arbres
- Infixe : Gauche ➔ Racine ➔ Droite (Fournit les éléments triés dans l'ordre croissant pour un ABR).
- Préfixe : Racine ➔ Gauche ➔ Droite.
- Postfixe : Gauche ➔ Droite ➔ Racine.
- En Largeur (BFS) : Niveau par niveau de gauche à droite à l'aide d'une File FIFO.
Verso : Algorithmes Python & Propriétés Clés des ABR
VERSO3. Implémentation de la Recherche dans un ABR
- Recherche dichotomique récursive basée sur la comparaison avec la clé courante :
def rechercher_abr(arbre, cle):
if arbre is None:
return False
if cle == arbre.cle:
return True
elif cle < arbre.cle:
return rechercher_abr(arbre.gauche, cle)
else:
return rechercher_abr(arbre.droite, cle)4. Calcul de la Taille et de la Hauteur
- Taille = 1 + taille(gauche) + taille(droite).
- Hauteur = 1 + max(hauteur(gauche), hauteur(droite)).
def taille(arbre):
if arbre is None:
return 0
return 1 + taille(arbre.gauche) + taille(arbre.droite)
def hauteur(arbre):
if arbre is None:
return 0
return 1 + max(hauteur(arbre.gauche), hauteur(arbre.droite)) Formules & Complexités Clés
- ➔log₂(N + 1) ≤ h ≤ N
- ➔N_max = 2ʰ - 1 (arbre parfait)
- ➔Recherche ABR équilibré : O(log N)
- ➔Recherche ABR peigne : O(N)
Pièges Fréquents & Réflexes Bac
- •Toujours mentionner l'état de l'arbre (équilibré ou dégénéré) pour justifier la complexité O(log N) ou O(N).
- •Pour vérifier qu'un arbre est un ABR, faire un parcours infixe : la liste obtenue doit être strictement croissante.
