Dans un programme, une fois les données référencées, on a besoin d'un mécanisme pour manipuler ces données afin de résoudre les problèmes.
Une structure de données est une manière particulière de stocker, d’organiser et de manipuler les données dans un ordinateur afin qu’elles puissent être utilisées efficacement et de manière efficiente.
La plupart des langages de programmation permettent aux utilisateurs de définir leurs propres types de données.
Exemples de structures de données :
les tableaux, les fichiers, les listes, les piles, les files d'attente, les arbres, les graphes, etc.
En fonction de l'organisation des éléments, les structures de données sont classées en deux types :
-
structures de données linéaires :
les éléments sont accessibles dans un ordre séquentiel mais il n'est pas obligatoire de stocker tous les éléments de manière séquentielle.
Exemples : les listes, les piles et les files d'attente. -
Structures de données non linéaires :
les éléments de cette structure de données sont stockés/accédés dans un ordre non linéaire.
Exemples : les arbres et les graphes.
Le choix de la structure de données appropriée dépend des besoins spécifiques du programme et des opérations que l'on souhaite effectuer sur les données.
Structures de données abstraites
Les types de données primitifs (int, float, etc.) prennent en charge les opérations de base telles que l'addition et la soustraction. Le système fournit les implémentations pour les types de données primitifs.
Dans le langage Python, les types list, tuple, dict... sont accompagnés de leurs comportements propres tels que : index, count, append, reverse, etc.
De la même façon, les types de données de l'utilisateur sont définis avec leurs opérations spécifiques indépendamment de leur représentation ou de leur implémentation sous-jacente dans un langage de programmation particulier. La mise en œuvre de ces opérations peut être effectuée lorsque l'on souhaite réellement les utiliser.
Enfin, une structure de données abstraites (SDA) est l'association
- de la déclaration des données
- et de la déclaration des opérations.