Ce document est un résumé concernant les structures les plus classiques rencontrées en
informatique pour organiser des données. On suppose que le lecteur connait déjà les
tableaux et les enregistrements (exemple: record en Pascal, struct en C). Pour aborder
les différentes structures de données présentées ici, le lecteur devra également bien maîtriser
la notion de pointeurs et de gestion dynamique de la mémoire.
Les structures de données présentées ici sont:
les tableaux (arrays en anglais),
les listes chaînées (linked lists en anglais),
les piles (stacks en anglais),
les files (queues en anglais),
les arbres binaires (binary trees en anglais).
Pour chacune de ces structures de données, nous présentons avant tout différentes manières
de les modéliser. Ensuite, nous détaillons en langage algorithmique les principales opérations
qui peuvent être appliquées sur ces structures. Enfin, pour certaines d'entre elles, nous
développons quelques exemples d'utilisation.
Avant d'entrer dans les détails de chaque structure, nous introduisons ici quelques notations
qui seront utilisées tout au long de ce document. Elles permettront de formaliser les
modélisations proposées pour les différentes structures de données ainsi que les opérations
applicables sur ces structures.
*p est le contenu pointé par p;
T * est le type pointeur sur un élément de type T;
&x est l'adresse de l'élément x;
x y affecte la valeur y à la variable x;