🏠 Accueil
Bienvenue sur ce site dédié aux arbres binaires avec Python, pour les élèves qui souhaitent approfondir leurs connaissances en algorithmique et se tester en autonomie. Cours progressif, exercices débranchés, exercices pratiques, méthodes de dessins numériques.
À avoir abordé avant
- Récursivité
- POO ; à venir
- Pile/File etc
La suite du cours
- Arbre d'arité ; Compléments en partie hors programme, mais très utile pour mieux aborder les graphes !
- Graphe ; à venir
Python sans aucune installation, et en local
AlgoPratique : Arbres binaires
De très nombreux exercices en Python sont inclus dans ce site web. Le code est exécuté en local sur votre machine, sans aucune installation nécessaire. Le respect du RGPD est complet, il n'y a strictement aucune donnée qui sort ; gage de sécurité. Ceci est rendu possible avec la technologie Pyodide 1 qui a été portée vers MkDocs2 initialement par Vincent BOUILLOT 3, puis par Frédéric ZINELLI 4. Un grand merci à eux, et tous les autres collègues qui ont participé à la relecture, comme Nicolas REVÉRET avec qui nous avons créé une très grande partie du contenu du groupe e-nsi. Pour ce chapitre, tout le cours et tous les exercices sont créés par Franck CHAMBON.
Travailler les épreuves écrites
Sujets d'écrit inspirés des sujets de BAC, avec les ajustement nécessaires. Entièrement corrigés, sous balise spoiler. Classés par thème.
Le plan
Sommaire
- On découvre les graphes de manière succincte
- et on teste pour prendre un bon départ.
- On découvre les variétés d'arbres avec plusieurs angles d'approches :
- d'abord comme un graphe connexe acyclique,
- l'occasion de réviser les dictionnaires (avec l'adjacence),
- puis les arbres binaires,
- un peu de POO, une classe
Noeudsans méthode,
- un peu de POO, une classe
- puis les arbres binaires de recherche,
- l'occasion de créer une classe
ABRavec ses méthodes,
- l'occasion de créer une classe
- puis les arbres binaires presque complets,
- avec des modélisations variées suivant le contexte,
- tels les tas, en guise d'exercices facultatifs,
- et d'autres encore...
- puis les arbres enracinés, qui ont une racine précisée,
- pas de POO dans cette section, uniquement des listes imbriquées.
- Mais avec certains exercices qui sont plus difficiles.
- d'abord comme un graphe connexe acyclique,
Un arbre binaire de hauteur 3
graph TB
N0("11")
N0 --> N1("42")
N0 --> N2("11")
N1 --> N11(" ")
N1 --> N12("21")
N12 --> N121(" ")
N12 --> N122(" ")
N2 --> N21(" ")
N2 --> N22(" ")
Un arbre binaire de recherche
graph TB
A("28")
B("13")
C("35")
D("13")
E((" "))
F("32")
G("43")
H((" "))
I((" "))
J((" "))
K((" "))
L((" "))
M((" "))
A --> B
A --> C
B --> D
B --> E
C --> F
C --> G
D --> H
D --> I
F --> J
F --> K
G --> L
G --> M
Arbre de famille de langues
Voici la structure des liens entre langues indo-européennes et fino-ougriennes.

Source : Feast Your Eyes on This Beautiful Linguistic Family Tree
-
Pyodide is a Python distribution for the browser and Node.js based on WebAssembly. ↩
-
MkDocs is a fast, simple and downright gorgeous static site generator. ↩
-
Pyodide-MkDocs 0.9.1 : Terminal et IDE dans MkDocs ↩
-
Pyodide-Mkdocs-Theme : Éditeurs & terminaux python dans MkDocs ↩