Structure de données

Structure de données

En informatique, une structure de données est une structure logique destinée à contenir des données, afin de leur donner une organisation permettant de simplifier leur traitement. Une structure de données implémente concrètement un type abstrait.


Sommaire

Objectifs de l'organisation des données

Pour prendre un exemple de la vie quotidienne, on peut présenter des numéros de téléphone par département, par nom, par profession (comme les Pages jaunes), par numéro téléphonique (comme les annuaires destinés au télémarketing), par rue et/ou une combinaison quelconque de ces classements. À chaque usage correspondra une structure d'annuaire appropriée.

En organisant d'une certaine manière les données, on permet un traitement automatique de ces dernières plus efficace et rapide.

Le fait d'utiliser une structure de données appropriée à un traitement informatique peut également faire baisser de manière significative la complexité d'une application informatique et ainsi contribuer à diminuer le taux d'erreurs.

Exemples de structures de données

Différentes structures de données existent pour des données différentes ou répondant à des contraintes algorithmiques différentes :

Types de collections

Collections séquentielles

Une collection séquentielle permet de ranger des objets dans un ordre arbitraire.

On parle de collection indexée quand on peut accéder à chaque élément de la collection par un numéro d'ordre (l'index). Le choix d'une implémentation particulière dépend d'un certain nombre de compromis, comme l'occupation mémoire ou les performances requises pour diverses opérations de base : itération, ajout d'un élément (au début, à la fin ou encore dans un emplacement quelconque de la collection), indexation, suppression d'un élément, décompte du nombre d'éléments, etc.

Il existe deux grands types de collections séquentielles :

Un certain nombre de structures de données sont des restrictions de collections séquentielles, qui n'autorisent qu'un sous-ensemble des opérations de base :

Files à priorités

Le type abstrait file à priorités est une collection d'éléments indexés par des clés sur lesquels on peut effectuer deux opérations: l'insertion d'un élément et l'extraction de l'élément de plus grande clé.

  • Tas ou tas binaire

On peut implémenter une union sur les files à priorité:

Tables de symboles ou collections mappées

Ce type de collection nommé tableau associatif, dictionnaire ou map permet de ranger des objets en fonction d'une clef dans une table de symboles. La clef doit généralement respecter un certain nombre d'invariants pour être valide (valeur de hachage ou résultats de la comparaison par exemple).

Autres collections

Collections et typage

Les collections posent des problèmes de typage des données stockées. Comment garantir le type d'un objet qui est stocké dans une liste par exemple ?

Ce problème n'est pas rédhibitoire dans les langages informatiques à typage dynamique, où le type exact de l'objet peut être vérifié à l'exécution par introspection. Il est plus gênant dans les langages informatiques à typage statique puisqu'il oblige le programmeur, soit à devoir programmer une classe container spécialisée pour chaque type de donnée à traiter, soit à violer la sûreté de typage en utilisant des coercions.

Cette difficulté a conduit de nombreux langages informatiques à supporter la programmation générique pour définir des types paramétrés. Par exemple en C++, la commande std::list<std::string> définit une liste doublement chaînée pouvant contenir des chaines de caractères.

Voir aussi

Articles connexes

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Structure de données de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • Structure de donnees — Structure de données En informatique, une structure de données est une structure logique destinée à contenir des données, afin de leur donner une organisation permettant de simplifier leur traitement. Une structure de données implémente… …   Wikipédia en Français

  • Structure des données — Structure de données En informatique, une structure de données est une structure logique destinée à contenir des données, afin de leur donner une organisation permettant de simplifier leur traitement. Une structure de données implémente… …   Wikipédia en Français

  • structure des données — duomenų bazės struktūra statusas T sritis automatika atitikmenys: angl. database structure vok. Datenbankstruktur rus. структура базы данных, f pranc. format des données, m; structure des données, f …   Automatikos terminų žodynas

  • structure de données — ● n. f. ►TYPE Ensemble organisé d informations ayant quelque chose en commun et qu on a groupées pour leur traitement. Exemple: (nom, prénom, âge, profession). Parfois traduit par record en anglais, mais un enregistrement est souvent bien plus… …   Dictionnaire d'informatique francophone

  • Structure de donnees persistante — Structure de données persistante En informatique, une structure de données persistante est une structure de données qui préserve ses versions antérieures lorsqu elle est modifiée ; une telle structure est observationnellement immuable, car… …   Wikipédia en Français

  • Structure de données persistante — En informatique, une structure de données persistante est une structure de données qui préserve ses versions antérieures lorsqu elle est modifiée ; une telle structure est observationnellement immuable, car ses opérations ne la modifient pas …   Wikipédia en Français

  • Tableau (structure de donnees) — Tableau (structure de données) Pour les articles homonymes, voir Tableau. En informatique, un tableau (array en anglais) est une structure de données de base qui est un ensemble d éléments (des variables ou autres entités contenant des données),… …   Wikipédia en Français

  • Tableau (structure de données) — Pour les articles homonymes, voir Tableau. En informatique, un tableau (array en anglais) est une structure de données de base qui est un ensemble d éléments (des variables ou autres entités contenant des données), auquel on a accès à travers un… …   Wikipédia en Français

  • VList (structure de données) — VList En algorithmique, une VList est une structure de données persistante (conçue par Phil Bagwell en 2002), qui combine l accès rapide aux éléments (comme dans les tableaux) avec la souplesse d extension des listes simplement chaînées. Sommaire …   Wikipédia en Français

  • Cle (structure de donnees) — Clé (structure de données) En génie logiciel, la clé d un objet est souvent un petit fragment de données, qui permet soit d identifier un objet, soit de comparer entre eux des objets du même type. Sommaire 1 Élément de comparaison 1.1 Dans les… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”