📘 Fiche de cours
L'essentiel du cours
Les structures de données avancées permettent d'organiser les informations pour optimiser les algorithmes.
- Piles (Stacks) : Structure LIFO. Opérations :
empiler(push),dépiler(pop). - Files (Queues) : Structure FIFO. Opérations :
enfiler(enqueue),défiler(dequeue). - Listes chaînées : Séquence de nœuds. Chaque nœud contient une donnée et un pointeur vers le suivant.
- Arbres binaires : Structure hiérarchique. Racine, nœuds, feuilles. Propriété : $nœud.gauche < nœud < nœud.droite$ pour les ABR (Arbres Binaires de Recherche).
Méthodes à maîtriser
- Insertion/Suppression : Savoir manipuler les pointeurs pour insérer un nœud dans une liste chaînée sans perdre la chaîne.
- Parcours d'arbre : Maîtriser les parcours préfixe, infixe et postfixe.
- Analyse de complexité : Évaluer le temps d'exécution en notation $O(n)$.
Exemples corrigés
- Pile : Pour inverser une chaîne, on empile chaque caractère puis on dépile.
- Liste : Pour insérer en tête, on crée un nouveau nœud dont le pointeur
suivantpointe vers l'ancienne tête.
Erreurs fréquentes
- Oublier de mettre à jour le pointeur
nullà la fin d'une liste. - Confondre la racine d'un arbre avec une feuille.
- Ne pas gérer le cas de la pile vide lors d'un
pop.