📘 Fiche de cours
L'essentiel du cours
- Listes : Séquences ordonnées d'éléments accessibles par index. En Python,
listest dynamique. - Piles (Stack) : Structure LIFO. Opérations :
push(e),pop(),is_empty(),peek(). - Files (Queue) : Structure FIFO. Opérations :
enqueue(e),dequeue(),is_empty(). - Implémentation : En Python, on utilise
listpour les piles (append/pop) etcollections.dequepour les files (plus efficace en $O(1)$ pourpopleft).
Méthodes à maîtriser
- Conversion d'une structure à une autre (ex: vider une pile dans une file).
- Utilisation de la pile pour vérifier l'équilibrage des parenthèses.
- Simulation manuelle d'une séquence d'opérations sur une structure.
Exemples corrigés
- Pile :
S = [1, 2];S.append(3)->Sdevient[1, 2, 3];S.pop()-> renvoie3. - File :
Q = deque([1, 2]);Q.append(3)->Qdevient[1, 2, 3];Q.popleft()-> renvoie1.
Erreurs fréquentes
- Confondre LIFO et FIFO.
- Utiliser
pop(0)sur une liste Python pour simuler une file (complexité $O(n)$ au lieu de $O(1)$). - Oublier de vérifier si la structure est vide avant un
popoudequeue.