Aller au contenu

🏠 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

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

Pratique : Écrit (type BAC)

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 Noeud sans méthode,
    • puis les arbres binaires de recherche,
      • l'occasion de créer une classe ABR avec ses méthodes,
    • 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.

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.

Langues

Source : Feast Your Eyes on This Beautiful Linguistic Family Tree


  1. Pyodide is a Python distribution for the browser and Node.js based on WebAssembly. 

  2. MkDocs is a fast, simple and downright gorgeous static site generator. 

  3. Pyodide-MkDocs 0.9.1 : Terminal et IDE dans MkDocs 

  4. Pyodide-Mkdocs-Theme : Éditeurs & terminaux python dans MkDocs