Au programme de ce chapitre
- I. La liste Python : indexation et coût des opérations
- II. La pile : principe LIFO et utilisations
- III. La file : principe FIFO et implémentation avec deque
- Méthodes et pièges à éviter
- Savoir-faire
- Exercices types corrigés
- Teste-toi — vrai ou faux ?
- Pièges fréquents et astuces
La définition à retenir

Un exemple corrigé
python3 :
>>> pile = []
>>> pile.append("a")
>>> pile.append("b")
>>> pile.append("c")
>>> pile
['a', 'b', 'c']
>>> pile.pop()
'c'
>>> pile
['a', 'b']
Retirer le dernier élément avec pop() ne demande aucun décalage : c'est une opération en O(1). Retirer le premier élément avec pop(0) obligerait au contraire à décaler tous les éléments restants d'un rang vers la gauche, en O(n).L'essentiel à retenir
- Pile : LIFO (empiler / dépiler au sommet).
- File : FIFO (enfiler en queue / défiler en tête).
- Pile pour revenir en arrière ; file pour traiter dans l'ordre d'arrivée.
- Les indices d'une liste commencent à 0 (de 0 à n−1).
Les erreurs fréquentes à éviter
t.pop(0) coûte O(n), car tous les éléments restants doivent être décalés. On utilise plutôt une file double du module collections, la classe deque, dont les opérations append (enfiler à droite) et popleft (défiler à gauche) coûtent toutes deux O(1).L'astuce du prof
collections.deque (retrait en tête en O(1)).Exercices corrigés
Cherche d'abord seul, puis ouvre la correction.
Exercice 1 — Résultat d'une pile
Voir la correction
Exercice 2 — Résultat d'une file
