11. Tableaux (Arrays) et Linked Lists (Comparaison)
Ce sont des structures de données fondamentales sur lesquelles opèrent les algorithmes.
Tableaux (Statiques ou Dynamiques)
- Concept : Une collection d'éléments stockés dans des emplacements mémoire contigus (les uns à côté des autres).
- Avantages : Recherche/accès rapides (O(1)) car l'ordinateur sait exactement où se trouve l'élément en fonction de l'adresse de départ et de l'index.
- Inconvénients : L'ajout ou la suppression d'éléments au milieu est lent (O(N)) car tous les éléments suivants doivent être décalés.
Linked Lists (Listes Chaînés)
- Concept : Une collection de nœuds où chaque nœud contient les données et une référence (pointeur) vers le nœud suivant.
- Avantages : Insertions et suppressions rapides (O(1)) une fois que vous avez un pointeur vers le nœud précédent, car il suffit de mettre à jour un pointeur.
- Inconvénients : Recherche/accès lents (O(N)) car vous devez commencer au début et parcourir la liste séquentiellement pour trouver le N-ième élément.
Choisir la bonne structure est la première étape dans la conception d'un algorithme efficace.