En savoir plus

Les structures de données

Tables de hachage, automates cellulaires et la toile invisible qui relie dictionnaires, images, bases de données et Internet.

La magie du dictionnaire : trouver en un clin d'oeil#

En Python, accéder a arbre["espece"] est quasi instantané, même si le dictionnaire contient un million d'entrées. Chercher une valeur dans une liste, en revanche, oblige a parcourir les éléments un par un jusqu'a trouver. Pourquoi cette différence radicale ?

La table de hachage

Un dictionnaire Python est une table de hachage. L'idée : une fonction de hachage transforme la clé (par exemple la chaine "espece") en un numéro de casier. On va directement au bon casier - pas de recherche, pas de parcours.

Imagine une bibliothèque magique ou une formule te donne immédiatement le numéro d'étagère d'un livre, sans avoir a en lire un seul autre. C'est exactement ce qui se passe :

cle = "espece" numeroCasier = fonctionDeHachage(cle) # ex. 47231 casiers[numeroCasier] = "Érable a sucre" # Plus tard, pour retrouver : valeur = casiers[fonctionDeHachage("espece")] # direct, un seul saut
Structure Cout de recherche Signification
dict (table de hachage) O(1) Temps constant - indépendant de la taille
list (parcours) O(n) Proportionnel au nombre d'éléments

Pour qu'une clé puisse etre hachée, elle doit etre immuable : les textes, les nombres et les tuples sont hachables. Une liste ne l'est pas, car elle peut changer apres avoir été utilisée comme clé.

Démo - Liste vs Dictionnaire

Cherche une espece dans les données. Observe combien de comparaisons la liste a fait, et combien en a fait le dictionnaire.

Especes disponibles :

Tape un nom et clique Chercher...
Comparaisons - liste
-
Acces - dictionnaire
-

Une grille qui prend vie : le Jeu de la vie#

En 1970, le mathématicien britannique John Conway invente un objet fascinant : un automate cellulaire. Sur un tableau 2D de cellules vivantes ou mortes, quatre règles simples suffisent a faire émerger des comportements d'une richesse stupéfiante - glisseurs, oscillateurs, vaisseaux spatiaux.

Les règles exactes

A chaque génération, on compte les 8 voisines de chaque cellule (haut, bas, gauche, droite, et les 4 diagonales) :

Lien avec la Mission Forêt : imagine chaque cellule comme un arbre dans une foret. Trop dense, ca brule ou s'étouffe. Trop clairsemé, ca meurt. La survie tient a l'équilibre du voisinage - exactement comme un vrai écosystème.

Les tableaux 2D servent aussi aux images (une grille de pixels) et aux jeux de plateau (échecs, mots croisés, labyrinthe) - meme structure, usages infinis.

Démo - Jeu de la vie de Conway

Clique sur une cellule pour la faire vivre ou mourir. Démarre pour voir l'évolution.

Génération : 0

Les structures de données sont partout#

JSON : le dictionnaire du Web

JSON (JavaScript Object Notation, popularisé par Douglas Crockford au début des années 2000) est devenu le format universel d'échange de données sur Internet. Chaque fois que ton téléphone reçoit des données d'une application, c'est probablement du JSON. Et sa forme ? Exactement un dictionnaire Python :

{ "espece": "Érable a sucre", "hauteur_m": 18.5, "age_ans": 42, "coordonnees": [45.5017, -73.5673], "sante": { "etat": "bon", "dernier_controle": "2025-09-14" } }

Les API météo, les données satellites, les résultats de recherche Google - tout transite sous cette forme. Savoir lire et produire du JSON, c'est avoir la clé du Web.

Bases de données
Une table de base de données, c'est un tableau 2D : des lignes (enregistrements) et des colonnes (champs). La structure que tu connais déja.
Images numériques
Une image en niveaux de gris = un tableau 2D de nombres (0 a 255). En couleur : trois grilles superposées, une pour le rouge, une pour le vert, une pour le bleu (RVB).
Jeux et simulations
Plateau d'échecs, grille de mots croisés, carte d'un jeu vidéo, simulation de foret : tous sont des tableaux 2D. Le Jeu de la vie en est l'exemple parfait.

Le cours de programmation t'a donné les outils de base. Ces trois exemples montrent que les memes structures - listes, dictionnaires, tableaux 2D - reviennent partout, habillées différemment. Maitriser les structures, c'est maitriser la matière premiere de l'informatique.