#Slides : Structures de données
Une diapo par structure: l'invariant, les opérations, le coût. À dérouler dans l'ordre du module.
- Le choix se décide par les opérations: compter accès, insertions, recherches; aucune structure ne gagne partout.
- Tableaux et listes: contiguïté contre chaînage; O(1) indexé mais décalages, O(1) local mais parcours;
list,deque,ndarray. - Piles et files: invariants LIFO et FIFO; O(1) aux extrémités; parenthèses, BFS, annuler; jamais
pop(0)sur unelist. - Tables de hachage: clé → hash → alvéole; facteur de charge α = n/m; chaînage contre adressage ouvert; tombstone; Bloom sans faux négatifs.
- Arbres et tas: vocabulaire (hauteur, complétude); quatre parcours; tas min = Arbre complet + parent ≤ enfants; tableau et indices 2i+1/2i+2; insertion et extraction O(log n), construction O(n); heapq.
- BST: invariant sur les sous-arbres entiers; recherche/insertion le long d'un chemin O(h); suppression à deux enfants par successeur infixe; dégénérescence en peigne et équilibrage AVL / rouge-noir.
- Grille finale: quelle structure pour quel besoin (tableau, liste, pile/file, hachage, BST, tas), avec le pire cas de la table de hachage en réserve.