📘 Fiche de cours
L'essentiel du cours
Les structures linéaires organisent les données de manière séquentielle.
- Listes chaînées : Composées de nœuds contenant une valeur et un pointeur vers le suivant. Accès séquentiel : $O(n)$.
- Piles (Stack) : Structure LIFO (Last In, First Out). Opérations :
Empiler(push) etDépiler(pop). Complexité $O(1)$. - Files (Queue) : Structure FIFO (First In, First Out). Opérations :
Enfiler(enqueue) etDéfiler(dequeue). Complexité $O(1)$.
Méthodes à maîtriser
- Insertion/Suppression : Savoir manipuler les pointeurs pour insérer un nœud dans une liste sans perdre la chaîne.
- Gestion des bornes : Toujours vérifier si la structure est vide (
estVide) ou pleine (pour les implémentations statiques). - Conversion : Savoir simuler une pile avec deux files ou vice-versa.
Exemples corrigés
- Pile : Pour inverser une chaîne de caractères, on empile chaque lettre puis on dépile.
- File : Gestion des tâches d'impression (le premier arrivé est le premier servi).
Erreurs fréquentes
- Oublier de mettre à jour le pointeur
NULLà la fin d'une liste. - Confusion entre
LIFO(Pile) etFIFO(File). - Perdre l'adresse du premier élément (
tête) lors d'une insertion.