| p:abstract
| - In computer science, a data structure is a way of storing data in a computer so that it can be used efficiently. Often a carefully chosen data structure will allow the most efficient algorithm to be used. The choice of the data structure often begins from the choice of an abstract data type. A well-designed data structure allows a variety of critical operations to be performed, using as few resources, both execution time and memory space, as possible. Data structures are implemented by a programming language as data types and the references and operations they provide.
Different kinds of data structures are suited to different kinds of applications, and some are highly specialized to certain tasks. For example, B-trees are particularly well-suited for implementation of databases, while networks of machines rely on routing tables to function.
In the design of many types of programs, the choice of data structures is a primary design consideration, as experience in building large systems has shown that the difficulty of implementation and the quality and performance of the final result depends heavily on choosing the best data structure. After the data structures are chosen, the algorithms to be used often become relatively obvious. Sometimes things work in the opposite direction - data structures are chosen because certain key tasks have algorithms that work best with particular data structures. In either case, the choice of appropriate data structures is crucial.
This insight has given rise to many formalised design methods and programming languages in which data structures, rather than algorithms, are the key organising factor. Most languages feature some sort of module system, allowing data structures to be safely reused in different applications by hiding their verified implementation details behind controlled interfaces. Object-oriented programming languages such as C++ and Java in particular use classes for this purpose.
Since data structures are so crucial, many of them are included in standard libraries of modern programming languages and environments, such as C++'s Standard Template Library containers, the Java Collections Framework, and the Microsoft .NET Framework.
The fundamental building blocks of most data structures are arrays, records, discriminated unions, and references. For example, the nullable reference, a reference which can be null, is a combination of references and discriminated unions, and the simplest linked data structure, the linked list, is built from records and nullable references.
Data structures represent implementations or interfaces: A data structure can be viewed as an interface between two functions or as an implementation of methods to access storage that is organized according to the associated data type. (en)
- En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación. Un dato elemental es la mínima información que se tiene en un sistema.
Una estructura de datos define la organización e interrelación de éstos
y un conjunto de operaciones que se pueden realizar sobre ellos. Las operaciones básicas son:
* Alta, adicionar un nuevo valor a la estructura.
* Baja, borrar un valor de la estructura.
* Búsqueda, encontrar un determinado valor en la estructura para realizar una operación con este valor, en forma SECUENCIAL o BINARIO (siempre y cuando los datos estén ordenados)...
Otras operaciones que se pueden realizar son:
* Ordenamiento, de los elementos pertenecientes a la estructura.
* Apareo, dadas dos estructuras originar una nueva ordenada y que contenga a las apareadas.
Cada estructura ofrece ventajas y desventajas en relación a la simplicidad y eficiencia para la realización de cada operación. De esta forma, la elección de la estructura de datos apropiada para cada problema depende de factores como la frecuencia y el orden en que se realiza cada operación sobre los datos. (es)
- In der Informatik ist eine Datenstruktur ein mathematisches Objekt zur Speicherung von Daten. Es handelt sich um eine Struktur, weil die Daten in einer bestimmten Art und Weise angeordnet und verknüpft werden, um den Zugriff auf sie und ihre Verwaltung geeignet zu ermöglichen. Datenstrukturen sind daher nicht nur durch ihre beinhalteten Daten charakterisiert, sondern vor allem durch die Operationen auf diesen Daten, welche Zugriff und Verwaltung realisieren. (de)
- Tietorakenne on tietojenkäsittelyssä esiintyvä termi, joka tarkoittaa tapaa tallentaa tietokoneen käsittelemää dataa siten, että sen käyttö on mahdollisimman tehokkasta. Toisaalta tietorakenne tarkoittaa sellaista abstraktia muistimallin primitiiveistä koostuvaa rakennetta, johon data on tallennettu. (fi)
- 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. (fr)
- Una struttura dati è un'entità usata per organizzare un insieme di dati all'interno della memoria del computer, ed eventualmente per memorizzarli in una memoria di massa.
La scelta delle strutture dati da utilizzare è strettamente legata a quella degli algoritmi, a tal proposito, solitamente si utilizza il concetto unificato di Algoritmi e Strutture Dati. La scelta della struttura dati influirà inevitabilmente sull'efficienza degli algoritmi da utilizzare.
La struttura dati è un metodo di organizzazione dei dati, quindi prescinde dai dati effettivamente contenuti. Ciascun linguaggio di programmazione offre strumenti, più o meno sofisticati, per definire strutture dati, ovvero aggregare dati di tipo omogeneo o eterogeneo. Questi strumenti sono tipicamente componibili.
Più formalmente, i linguaggi forniscono un insieme predefinito di tipi di dato elementari, e le strutture dati sono strumenti per costruire tipi di dati aggregati più complessi.
L'operazione di costruire una variabile di un tipo di dato complesso è detta "istanziazione", e può avvenire sia durante la compilazione del programma (compile time) sia durante la sua esecuzione (runtime).
Le strutture di dati si differenziano prima di tutto in base alle operazioni che si possono effettuare su di esse e alle prestazioni offerte. Questo permette di studiare un'astrazione dall'implementazione. (it)
- データ構造(データこうぞう、英 :en:data structure)とは、計算機科学において、データの集まりをコンピュータの中で効果的に扱うため、一定の形式に系統立てて格納するときの形式のことである。
ソフトウェア開発において、データ構造についてどのような設計を行うかは、プログラム(アルゴリズム)の効率に大きく影響する。そのため、さまざまなデータ構造が考え出されている。
多くのプログラムの設計において、データ構造の選択は主要な問題である。これは大規模システムの構築において、実装の困難さや質、最終的なパフォーマンスはベストのデータ構造を選択したかどうかに大きく依存してきたという経験の結果である。データ構造が選択されれば、使用するアルゴリズムは自明であることが比較的多いが、逆の場合もある。いずれにしても適切なデータ構造の選択は極めて重要である。
この洞察は、多くの定式化された設計手法やプログラミング言語において、データ構造がアルゴリズムよりもキーとなる構成要素となっていることに現れている。大半の言語はデータ構造が異なるアプリケーションにおいて安全に再利用できるよう、実装の詳細をインターフェイスの背後に隠蔽するような、モジュール化のしくみを備えている。C++やJavaといったオブジェクト指向プログラミング言語はクラスをこの目的に用いている。
データ構造は専門的なプログラミングにとって非常に重要なので、多くのデータ構造がC++におけるSTLや、Java API、及び.NETフレームワークのようなプログラミング言語の標準ライブラリや環境においてサポートされている。
データ構造が実装を表すのかインターフェースを表すのかについてはいくらか議論がある。どのように見えるかは相対的な問題なのかもしれない。データ構造は2つの関数の間にあるインターフェイスとして見ることもできるし、データ型に基づいて構成されたストレージにへアクセスする方法を実装したものとして見ることもできる。 (ja)
- Een datastructuur is in de informatica een manier waarop de elementen (in dit verband ook wel componenten, delen of items genoemd) van een samengestelde variabele samenhangen. De structuur bepaalt de wijze waarop de elementen selecteerbaar zijn, en daarmee op welke wijze en met welke mate van efficiëntie gegevens kunnen worden opgeslagen, gewijzigd en teruggevonden. Verder kunnen datastructuren worden gecombineerd tot complexere datastructuren. (nl)
- Innenfor informatikken er en datastruktur en måte å organisere data på i en datamaskin. Ved behandling av store datamengder er det en nødvendighet å bruke gode datastrukturer slik at effektive algoritmer kan anvendes for å løse beregningene på kortest mulig tid. En god datastruktur kjennetegnes av at den minimerer antallet beregninger CPU-en må gjøre, samt at den minimerer bruken av minneplass og sørger for platelageret blir brukt minst mulig.
Generelt sett er det fire forskjellige grunnleggende operasjoner som må kunne gjøres i en datastruktur:
# Sette inn et element
# Fjerne et element
# Søke etter et bestemt element
# Teste om strukturen er tom
Mange programmeringsspråk inneholder ferdige moduler en programmerer kan bruke til å skape effektive datastrukturer. Disse ligger ferdige i språkets standardbibliotek, slik at de praktiske implementasjonene gjemmes for programmereren. (no)
- Struktura danych (ang. data structure) - sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy.
Przykładowe struktury danych to:
* rekord, zwany w niektórych językach po prostu strukturą (ang. struct, record), logiczny odpowiednik to krotka
* tablica
* lista
* stos
* kolejka
* drzewo i jego liczne odmiany (np. drzewo binarne)
* graf
Podczas implementacji programu programista często staje przed wyborem między różnymi strukturami danych, aby uzyskać pożądany efekt. Odpowiedni wybór może zmniejszyć złożoność obliczeniową, ale z drugiej strony trudność implementacji danej struktury może stanowić istotną przeszkodę.
Ponieważ struktury danych są w programie rzeczą szczególnie istotną, wiele języków programowania wspiera programistę, dostarczając bibliotekę standardową z zaimplementowanymi różnorodnymi strukturami danych. Można tu wymienić Standard Template Library w C++, API języka Java oraz platformę .NET.
Próbą połączenia idei struktur danych i algorytmów jest pomysł programowania obiektowego. (pl)
- Estruturas de dados e algoritmos são temas fundamentais da ciência da computação, sendo utilizados nas mais diversas áreas do conhecimento e com os mais diferentes propósitos de aplicação. Sabe-se que algoritmos manipulam dados. Quando estes dados estão organizados (dispostos) de forma coerente, caracterizam uma forma, uma estrutura de dados. São a organização e os métodos que manipulam esta determinada estrutura que lhes conferem singularidade.
As estruturas de dados são chamadas tipos de dados compostos que dividem-se em dois: homogêneos (vetores e matrizes) e heterogêneos (registros). As estruturas homogêneas são conjuntos de dados formados pelo mesmo tipo de dado primitivo. As estruturas heterogêneas são conjuntos de dados formados por tipos de dados primitivos diferentes (campos do registro) em uma mesma estrutura.
A escolha de uma estrutura de dados apropriada pode tornar um problema complicado em um de solução bastante trivial. O estudo das estruturas de dados está em constante desenvolvimento (assim como o de algoritmos), mas, apesar disso, existem certas estruturas clássicas que se comportam como padrões. (pt)
- Бинарное дерево, простой пример ветвящейся связной структуры данных.]]
В вычислительной технике структура данных — это способ хранения данных в компьютере, обеспечивающий их эффективное использование. Зачастую правильно подобранная структура данных позволяет создать более эффективный алгоритм. Выбор структуры данных обычно начинается с выбора абстрактной структуры данных. Хорошо спроектированная структура данных оптимизирует использование ресурсов (таких как время выполнения операций или используемый объём оперативной памяти), требуемых для выполнения наиболее критичных операций. Структуры данных формируются с помощью типов данных, ссылок и операций над ними в выбранном языке программирования.
Различные виды структур данных подходят для различных приложений; некоторые из них имеют узкую специализацию для определённых задач. Например, Б-деревья обычно подходят для создания баз данных, в то время как таблицы маршрутизации обеспечивают работу компьютерных сетей.
Разработка различных типов программного обеспечения показала, что сложность реализации и качество работы окончательной системы существенно зависит от правильного выбора структуры данных. После того, как выбрана структура данных, разработка алгоритма значительно упрощается. Однако, иногда поступают наоборот и выбирают структуры данных из соображений оптимального решения основной задачи определённым алгоритмом, который лучше всего работает со своим типом структур данных. В любом случае, выбор адекватной структуры данных очень важен. (ru)
- Inom datavetenskapen används datastrukturer för att organisera data så att den kan användas effektivt. I många fall kan valet av datastruktur vara kritiskt för att få algoritmer att arbeta effektivt.
I designen av många sorters program är valet av datastrukturer ett primärt designhänsyn, eftersom erfarenhet från konstruktion av storskaliga system har visat att svårigheten att implementera och kvaliteten på det slutliga resultatet beror i hög grad på valet av datastruktur. Efter valet av datastruktur blir algoritmerna tämligen uppenbara. Ibland går designprocessen baklänges - datastrukturer väljs utifrån vilka algoritmer som fungerar bäst för att lösa vissa nyckelproblem, men i vilket fall är valet av lämplig datastruktur avgörande för resultatet.
Denna insikt har gett upphov till många formaliserade designmetoder och programspråk i vilka datastrukturer, i stället för algoritmer, är nyckelfaktor. Objektorienterade programspråk som C++ och Java är en grupp av språk som visar denna filosofi.
Ofta används begreppet abstract data structure (abstrakt datastruktur) ADT, för att definiera en datastrukturs beteende.
Detta är en lista med datastrukturer:
*Linjära datastrukturer
**Lista
***Länkad lista
****Skipplista
**Hashtabell
**Stack (även LIFO Last In, First Out)
**Kö (även FIFO First In, First Out)
***Prioritetskö
**Tvåvägskö
*datastrukturer för grafer
**Scengraf
**Träd
***Binärträd
***AVL-träd
***B-träd
***Parseträd
***Röd-svart träd
***Splayträd
***Heap
***String trie
***Suffix trie (sv)
- 在计算机科学中,数据结构(data structure)是计算机中存储、组织数据的方式。通常情况下,精心选择的数据结构可以带来最优的算法。一般而言,数据结构的选择首先会从抽象数据类型的选择开始。一个设计良好的数据结构,应该在尽可能使用较少的时间与空间资源的前提下,为各种临界状态下的运行提供支持。数据结构可通过编程语言所提供的数据类型、及其他操作加以实现。
不同种类的数据结构适合于不同种类的应用,而部分甚至专门用于特定的作业任务。例如,当计算机网络依赖于路由表运作时,B树高度适用于数据库的封装。
在许多类型的程序设计中,选择适当的数据结构是一个主要的考虑因素。许多大型系统的构造经验表明,封装的困难程度与最终成果的质量与表现,都取决于是否选择了最优的数据结构。在许多时候,确定了数据结构后便能很容易地得到算法。而有些时候,方向则会颠倒过来:例如当某个关键作业需要特定数据结构下的算法时,会反过来确定其所使用的数据结构。然而,不管是哪种情况,数据结构的选择都是至关重要的。
系统构造的关键因素是数据结构而非算法的这一深入理解,导致了多种形式化的设计方法与编程语言的出现。绝大多数的语言都带有某种程度上的模块化思想,通过将数据结构的具体实现封装隐藏于受限接口后方的方法,来让不同的应用程序能够安全地重用这些数据结构。C++、Java等面向对象的程序设计语言可使用类来完成这一功能。
因为数据结构的重要性毋庸置疑,现代编程语言及其运行环境在标准库中都包含了多种的数据结构,例如C++标准模板库中的容器、以及微软的.NET Framework。
大多数数据结构都由数列、、可辨识联合、引用等基本类型构成。举例而言,可空引用(nullable reference,一种可被置空的引用)是引用与可辨识联合的结合体,而最简单的链式结构链表则是由记录与可空引用构成。
数据结构意味着接口或:一个数据结构可被视为两个函数之间的接口,或者是由数据类型联合组成的存储内容的访问方法封装。 (zh)
|
| rdfs:comment
| - In computer science, a data structure is a way of storing data in a computer so that it can be used efficiently. Often a carefully chosen data structure will allow the most efficient algorithm to be used. The choice of the data structure often begins from the choice of an abstract data type. A well-designed data structure allows a variety of critical operations to be performed, using as few resources, both execution time and memory space, as possible. (en)
- En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación. Un dato elemental es la mínima información que se tiene en un sistema. (es)
- In der Informatik ist eine Datenstruktur ein mathematisches Objekt zur Speicherung von Daten. Es handelt sich um eine Struktur, weil die Daten in einer bestimmten Art und Weise angeordnet und verknüpft werden, um den Zugriff auf sie und ihre Verwaltung geeignet zu ermöglichen. Datenstrukturen sind daher nicht nur durch ihre beinhalteten Daten charakterisiert, sondern vor allem durch die Operationen auf diesen Daten, welche Zugriff und Verwaltung realisieren. (de)
- Tietorakenne on tietojenkäsittelyssä esiintyvä termi, joka tarkoittaa tapaa tallentaa tietokoneen käsittelemää dataa siten, että sen käyttö on mahdollisimman tehokkasta. Toisaalta tietorakenne tarkoittaa sellaista abstraktia muistimallin primitiiveistä koostuvaa rakennetta, johon data on tallennettu. (fi)
- 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. (fr)
- Una struttura dati è un'entità usata per organizzare un insieme di dati all'interno della memoria del computer, ed eventualmente per memorizzarli in una memoria di massa. La scelta delle strutture dati da utilizzare è strettamente legata a quella degli algoritmi, a tal proposito, solitamente si utilizza il concetto unificato di Algoritmi e Strutture Dati. La scelta della struttura dati influirà inevitabilmente sull'efficienza degli algoritmi da utilizzare. (it)
- データ構造(データこうぞう、英 :en:data structure)とは、計算機科学において、データの集まりをコンピュータの中で効果的に扱うため、一定の形式に系統立てて格納するときの形式のことである。 (ja)
- Een datastructuur is in de informatica een manier waarop de elementen (in dit verband ook wel componenten, delen of items genoemd) van een samengestelde variabele samenhangen. De structuur bepaalt de wijze waarop de elementen selecteerbaar zijn, en daarmee op welke wijze en met welke mate van efficiëntie gegevens kunnen worden opgeslagen, gewijzigd en teruggevonden. Verder kunnen datastructuren worden gecombineerd tot complexere datastructuren. (nl)
- Innenfor informatikken er en datastruktur en måte å organisere data på i en datamaskin. Ved behandling av store datamengder er det en nødvendighet å bruke gode datastrukturer slik at effektive algoritmer kan anvendes for å løse beregningene på kortest mulig tid. En god datastruktur kjennetegnes av at den minimerer antallet beregninger CPU-en må gjøre, samt at den minimerer bruken av minneplass og sørger for platelageret blir brukt minst mulig. (no)
- Struktura danych (ang. data structure) - sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy. (pl)
- Estruturas de dados e algoritmos são temas fundamentais da ciência da computação, sendo utilizados nas mais diversas áreas do conhecimento e com os mais diferentes propósitos de aplicação. Sabe-se que algoritmos manipulam dados. Quando estes dados estão organizados (dispostos) de forma coerente, caracterizam uma forma, uma estrutura de dados. São a organização e os métodos que manipulam esta determinada estrutura que lhes conferem singularidade. (pt)
- Бинарное дерево, простой пример ветвящейся связной структуры данных.]] (ru)
- Inom datavetenskapen används datastrukturer för att organisera data så att den kan användas effektivt. I många fall kan valet av datastruktur vara kritiskt för att få algoritmer att arbeta effektivt. (sv)
- 在计算机科学中,数据结构(data structure)是计算机中存储、组织数据的方式。通常情况下,精心选择的数据结构可以带来最优的算法。一般而言,数据结构的选择首先会从抽象数据类型的选择开始。一个设计良好的数据结构,应该在尽可能使用较少的时间与空间资源的前提下,为各种临界状态下的运行提供支持。数据结构可通过编程语言所提供的数据类型、及其他操作加以实现。 (zh)
|