Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Structure de données — Wikipédia
Structure de données — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
Structure de données du langage de programmation Python 3

En informatique, une structure de données est une manière d'organiser les données pour les traiter plus facilement. Une structure de données est une mise en œuvre concrète d'un type abstrait.

Objectifs

[modifier | modifier le code]

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

[modifier | modifier le code]

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

  • structures finies :
    • constantes,
    • variables,
    • enregistrements,
    • structures composées finies ;
  • structures indexées :
    • tableaux (sur [1..n]),
    • tableaux multidimensionnels (e.g. tableaux bidimensionnels: sur [1..n, 1..m]; sinon, tableaux de tableaux: sur [1..n][1..m]),
    • tableaux associatifs,
    • vecteurs ;
  • structures récursives :
    • listes,
    • arbres,
    • graphes.

Types de collections

[modifier | modifier le code]

Séquentielles

[modifier | modifier le code]

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 :

  • les listes ;
  • les tableaux ou vecteurs.

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 :

  • pile ;
  • file.

Files à priorités

[modifier | modifier le code]

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é :

  • tas binomial ;
  • tas de Fibonacci.

Tables de symboles

[modifier | modifier le code]

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).

  • Table de hachage
  • Arbre binaire de recherche ou ABR
  • Arbre équilibré
    • Arbre AVL
    • Arbre 2-3-4
    • Arbre rouge-noir ou arbre SBB (symetric binary tree)
    • Arbre B ou B-tree

Autres collections

[modifier | modifier le code]
  • Buffer tournant
  • Graphes
  • Ensemble
  • Bag aussi appelé multisensemble ou sac
  • skip list
  • Union-find

Collections et typage

[modifier | modifier le code]

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 conteneur spécialisée pour chaque type de donnée à traiter, soit à violer la sûreté de typage en utilisant des conversions de type (en anglais : coercions).

Cette difficulté a conduit de nombreux langages informatiques à permettre 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.

Annexes

[modifier | modifier le code]

Articles connexes

[modifier | modifier le code]
  • Donnée
  • Métadonnée
  • Sécurité de l'information
  • Arbre enraciné
  • Critères communs
  • Modèle entité-relation
  • Structure de contrôle
  • ASN.1
  • Structure de données multidimensionnelles
  • Passive data structure

Liens externes

[modifier | modifier le code]

  • Notices dans des dictionnaires ou encyclopédies généralistesVoir et modifier les données sur Wikidata :
    • Britannica
    • Gran Enciclopèdia Catalana
  • Notices d'autoritéVoir et modifier les données sur Wikidata :
    • BnF (données)
    • LCCN
    • GND
    • Japon
    • Israël
    • Tchéquie
  • Structures et types sur Wikilivres.
v · m
Structure de données
Type abstrait
  • Ensemble
  • File
  • File d'attente à double extrémité
  • File de priorité
  • Liste
  • Vecteur
  • Graphe
  • Union-find
Tableau
  • Buffer circulaire
  • Tableau de bits
  • Table de hachage
  • Vecteur
Chaînage
  • Liste chaînée
  • Skip list
  • Chaînage XOR
Arbre
  • Arbre B
  • Arbre binaire de recherche
    • AVL
    • Bicolore
    • Équilibré
    • Splay
  • Tas
    • Binaire
    • Binomial
    • Fibonacci
  • Trie
Graphe Diagramme de décision binaire
v · m
Types de données
Non interprétée
  • Bit
  • Byte
  • Trit
  • Tryte
  • Mot
Numérique
  • Bignum
  • Complexe (en)
  • Décimal (en)
  • Virgule fixe
  • Virgule flottante
  • Entier
    • Non signé (en)
  • Intervalle
  • Rationnel (en)
Texte brut
  • Caractère
  • Chaîne de caractères
Pointeur
  • Adressage mémoire
    • Physique
    • Virtuelle
  • Référence
Composite (en)
  • Type algébrique de données
    • Généralisé
  • Tableau
  • Tableau associatif
  • Classe
  • Dépendant
  • Égalité (en)
  • Inductive (en)
  • Liste
  • Objet
    • Métaobjet
  • Option (en)
  • Produit
    • Enregistrement
  • Ensemble (set)
  • Vecteur
  • Union (en)
    • Disjointe
Autres
  • Booléen
  • Type vide
  • Collection
  • Conteneur
  • Type énuméré
  • Exception
  • Fonction
  • Opaque (en)
  • Type récursif
  • Sémaphore
  • Flux
  • Top (en)
  • Type class (en)
  • Type unité
  • Void
Articles liés
  • Type abstrait
  • Structure de données
  • Généricité
  • Kind (en)
    • Métaclasse
  • Parametric polymorphism (en)
  • Primitive data type (en)
  • Interface
  • Subtyping (en)
  • Type constructor (en)
  • Conversion de type
  • Type system (en)
v · m
Informatique théorique
Codage
  • Codage de l'information
  • Compression de données
  • Chiffrement
  • Cryptanalyse
  • Cryptographie
  • Théorie de l'information
Modèles de calcul
  • Calculabilité
  • Décidabilité et indécidabilité
  • Ensemble récursif
  • Problème de l'arrêt
  • Ensemble récursivement énumérable
  • Machine de Turing
  • Thèse de Church
  • Automate cellulaire
  • Réseau de neurones artificiels
  • Réduction polynomiale
  • Problème NP-complet
  • Principe de Church-Turing-Deutsch
Algorithmique
  • Algorithmique
  • Algorithme glouton
  • Algorithme probabiliste
  • Algorithme génétique
  • Complexité algorithmique
  • Analyse d'algorithme
  • Diviser pour régner
  • Heuristique
  • Programmation dynamique
  • Géométrie algorithmique
  • Algorithmes de tri
  • Algorithmique du texte
  • Exploration de données
  • Science des données
  • Apprentissage profond
  • Test de primalité
  • Structure de données
  • Arbre enraciné
  • Concurrence
  • Parallélisme
Syntaxe
  • Réécriture
  • Compilation
  • Expression régulière
  • Grammaire formelle
  • Langage rationnel
  • Ensemble rationnel
  • Théorie des langages
  • Théorie des automates
  • Automate fini
  • Automate sur les mots infinis
  • Automate d'arbres
  • Automate à pile
  • Hiérarchie de Chomsky
  • Linguistique informatique
Sémantique
  • Interprétation abstraite
  • Méthodes formelles
  • Vérification de modèles
  • Sémantique des langages de programmation
  • Sémantique dénotationnelle
  • Sémantique axiomatique
  • Sémantique opérationnelle
Logique mathématique
  • Assistant de preuve
  • Calcul des prédicats
  • Correspondance de Curry-Howard
  • Fonction récursive
  • Lambda-calcul
  • Théorèmes d'incomplétude de Gödel
  • Théorie des types
Mathématiques discrètes
  • Combinatoire
  • Algorithme du simplexe
  • Optimisation combinatoire
  • Théorie des graphes
  • Algorithmes de la théorie des graphes
  • Recherche opérationnelle
  • Théorie de la décision
  • Analyse numérique
  • icône décorative Portail de l’informatique
  • icône décorative Portail de la programmation informatique
  • icône décorative Portail des bases de données
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Structure_de_données&oldid=230527179 ».
Catégorie :
  • Structure de données
Catégories cachées :
  • Page utilisant un modèle Bases inactif
  • Page utilisant P1417
  • Page utilisant P1296
  • Page pointant vers des bases externes
  • Page pointant vers des dictionnaires ou encyclopédies généralistes
  • Article de Wikipédia avec notice d'autorité
  • Article contenant un appel à traduction en anglais
  • Portail:Informatique/Articles liés
  • Portail:Technologies/Articles liés
  • Portail:Programmation informatique/Articles liés
  • Portail:Bases de données/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id