On a déjà rencontré plusieurs structures de données : les entiers, les flottants, les tableaux, les chaînes de caractères. Dans chaque cas, il s'agit d'un ensemble de valeurs et de certaines opérations sur ces valeurs. Cette notion est aussi importante en informatique que les << structures >> des mathématiques (corps, espace vectoriel, espace de probabilités, variété différentielle, etc).
Dans certains cas, une structure de données s'identifie pratiquement avec un type de données du langage (entiers, tableaux).
Pour d'autres structures, la distance est plus grande et est rendue visible par la notion d'implémentation d'une structure par certains types de données. Nous verrons notamment les structures de graphe, table, de pile, de file, d'arbre binaire, de liste, de matrice. Nous proposons par exemple trois implémentations pour les matrices : comme tableaux bidimensionnels, comme tableaux unidimensionnels, et comme tableaux de pointeurs.
Les structures de données jouent un rôle central dans la conception et la formulation de certains algorithmes : les piles pour le parcours en profondeur itératif d'un graphe, les files pour leur parcours en largeur, les tables pour le codage de Huffman, et les arbres pour le décodage.