Lorsque les programmeurs parlent de "structures de données", parlent-ils uniquement de types de données abstraits comme des listes , des arbres , des hachages , des graphiques , etc.?
Ou ce terme inclut-il une structure contenant des données, telles que les types composites (objets de classe, structures, énumérations, etc.) et les types primitifs (booléens, int, char, etc.)?
Je n'ai entendu que des programmeurs utiliser le terme pour référencer des structures de données complexes ou des types de données abstraits, mais l'article de Wikipedia qui fournit une liste de structures de données inclut à la fois des types composites et des types primitifs dans la définition, ce qui n'est pas ce à quoi je m'attendais (même bien que cela ait du sens).
Lorsque je regarde en ligne, je vois d'autres endroits qui se réfèrent au terme "structure de données" dans le sens de la programmation comme faisant uniquement référence à des types de données abstraits, comme cette conférence du Département d'informatique de l'Université de Stony Brook qui déclare
Une structure de données est une implémentation réelle d'un type de données abstrait particulier.
ou ce wikibook sur les structures de données , qui utilise le terme dans des phrases comme celle-ci:
Les structures de données étant des abstractions de niveau supérieur, elles nous présentent des opérations sur des groupes de données, telles que l'ajout d'un élément à une liste ou la recherche de l'élément de priorité la plus élevée dans une file d'attente
Alors pourquoi n'entends-je jamais des programmeurs se référer à des structures de données complexes ou à des types de données abstraits lorsqu'ils utilisent le terme "structure de données"? Les programmeurs ont-ils une définition du terme différente de celle du dictionnaire?
if programmers mean something different when they talk about data structures
recherche toujours des opinions.Réponses:
La définition générique de "structure de données" est tout ce qui peut contenir vos données de manière structurée, donc oui, cela inclurait les types composites et les types primitifs en plus des types de données abstraits. Par exemple, a
string
est une structure de données car elle peut contenir une séquence de caractères de manière structurée.Cependant, le terme a également une autre signification pour les programmeurs.
Étant donné que le terme «structures de données» est si large, les développeurs utilisent généralement un terme plus spécifique pour identifier de quoi ils parlent, comme
class
oudata object
ouprimitive type
, et le terme spécifique utilisé pour les types de données les plus complexes ou abstraits est «structure de données»C'est pourquoi vous entendez le plus souvent la «structure de données» utilisée pour les types de données abstraits comme les tableaux, les listes, les arbres et les tables de hachage, et non pour des choses comme les types de données primitifs
la source
Lists
,Trees
,Graphs
, etc se trouve être « structures de données »Le terme fait référence aux deux, bien que des choses comme
ints
etbooleans
soient généralement considérées comme des types de données primitifs (ou des structures de données primitives). Le terme lui-même se réfère simplement à tout ce qui stocke des données d'une manière spécifique.int
Répond certainement aussi bien à cette définition qu'à quelque chose comme une table de hachage, mais c'est plus simple.En règle générale, lorsque les gens utilisent la structure de données, ils se réfèrent à des structures de données plus complexes, et non pas les plus simples, mais les deux répondent à la définition.
la source
int
"structure de données".La définition la plus simple et très basique, que j'ai jamais entendu parler des structures de données, est de stocker des données dans la mémoire de telle manière que les opérations de base comme l'insertion, la mise à jour, la suppression, etc. puissent être effectuées de manière efficace en termes de temps et de mémoire.
Ainsi, un type de données indique le type de données que nous y avons stocké. Il peut être entier, décimal, caractère, chaîne ou un objet. Il peut s'agir de types composites ou de types primitifs en plus de types de données abstraits.
Mais, nous utilisons des structures de données lorsque nous voulons stocker des données complexes dans la mémoire. C'est la raison pour laquelle nous n'entendons parler que des types de données comme les tableaux, les listes, les arbres et les tables de hachage, et non pour des choses comme les types de données primitifs
la source