Aller au contenu principal

Algorithmiques élémentaires & pensée computationnelle · L1 · Section 5/6

Animations interactives

Progression

Points d’expérience : XPSérie de jours consécutifs : · —Progression du module : — / —compris

#Animations interactives

Chaque animation ci-dessous met en scène une structure ou un algorithme du module. Manipulez-les : le but est de voir la dynamique, pas seulement le résultat.

#Construction d'un arbre binaire de recherche

Cinq insertions successives de clés : à chaque nœud rencontré, on descend à gauche si la clé est plus petite, à droite si elle est plus grande. Observez le chemin de 1 : il traverse 5 puis 3 avant de trouver sa place.

Arbre vide
Arbre vide au départ : aucune racine, aucune valeur
Étape 1 / 5

Invariant de la construction : à tout moment, pour chaque nœud de valeur v, toutes les clés de son sous-arbre gauche sont inférieures à v et toutes les clés de son sous-arbre droit sont supérieures. C'est cette propriété, pas la forme de l'arbre, qui permet la recherche en O(log n) sur un arbre équilibré.

#Tri par insertion

Le tri par insertion construit une zone triée à gauche, une carte à la fois : il prend l'élément suivant et le fait glisser vers la gauche jusqu'à sa place.

Chargement...

Invariant : au début de l'itération i, la tranche t[:i+1] contient les i+1 premiers éléments du tableau initial, triés entre eux. À la sortie, la tranche couvre tout le tableau. Coût : O(n²) au pire cas (entrée triée en ordre inverse), O(n) sur une entrée déjà presque triée.

#Pile (LIFO)

Une pile retire toujours l'élément le plus récemment ajouté : Last In, First Out. C'est la structure des appels de fonctions et de l'annulation (Ctrl+Z).

A
B
Sommet
Pile initialisée avec 2 éléments
Étape 1 / 1 | Taille: 2

Invariant : on ne retire jamais autre chose que le sommet. Les opérations push et pop sont O(1).

#File (FIFO)

Une file retire l'élément le plus anciennement ajouté : First In, First Out. C'est la structure des files d'attente et du parcours en largeur.

A
B
Avant
Arrière
File initialisée avec 2 éléments
Étape 1 / 1 | Taille: 2

Invariant : l'ordre de sortie est exactement l'ordre d'entrée. Les opérations enqueue et dequeue sont O(1) avec la bonne implémentation (deque, pas liste).

#Comment utiliser ces animations

Devinez l'état suivant avant de cliquer : formuler une prédiction, puis la confronter à l'animation, est ce qui ancre la compréhension. Cherchez ensuite les cas limites : que fait le tri par insertion sur un tableau déjà trié ? Que fait la pile quand on dépile plus qu'on n'empile ? Ces questions sont celles que vos tests poseront aussi.