article

V informatike je údajová štruktúra alebo dátová štruktúra spôsob ukladania údajov v počítači za účelom efektívneho použitia. Často sa stáva, že vhodne zvolená údajová štruktúra umožní použitie efektívneho algoritmu. Voľba údajovej štruktúry začína voľbou abstraktnej údajovej štruktúry. Dobre navrhnutá údajová štruktúra umožňuje vykonávanie kritických operácií za použitia minima zdrojov -- podľa možnosti výpočtového času a operačnej pamäte.

Rôzne druhy údajových štruktúr sa hodia na rôzne aplikácie. Niektoré sú vysoko špecializované na určitú úlohu. Napríklad B-stromy sú obzvlášť vhodné na implementáciu databáz, kým fungovanie smerovacích tabuliek je podmienené použitím v sieti počítačov.

Pri návrhu mnohých typov programov je voľba údajových štruktúr primárnou úlohou. Skúsenosti z budovania veľkých systémov ukázali, že zložitosť implementácie, kvalita a výkonnosť konečného výsledku závisí do veľkej miery na voľbe najvhodnejších údajových štruktúr. Potom ako sú zvolené údajové štruktúry je voľba algoritmov pomerne zjavná. Niekedy to funguje aj opačne -- údajová štruktúra sa zvolí, pretože na riešenie úlohy existuje algoritmus, ktorý najlepšie pracuje s istou údajovou štruktúrou. V každom prípade je voľba údajovej štruktúry kritická.

Vznikli formalizované metódy a programovacie jazyky, kde sú kľúčovým organizačným faktorom údajové štruktúry a nie algoritmy. Väčšina jazykov má nejaký systém modulov umožňujúci znovupoužitie údajových štruktúr v rôznych aplikáciách tak, že sa za navrhnuté rozhrania skryjú implementačné detaily. Objektovo orientované jazyky ako C++ a Java na to používajú objekty.

Keďže údajové štruktúry sú v profesionálnych programoch kriticky dôležité, mnohé z nich sú vyčerpávajúco podporované v štandardných knižniciach moderných programovacích jazykov ako napr. Knižnica štandardných šablón (STL) v C++, Java API alebo Microsoft .NET framework.

Fundamentálnymi stavebnými prvkami údajových štruktúr sú polia, záznamy, uniony a ukazovatele. Napríklad nulovateľný pointer je pointer, ktorý môže nadobúdať nulovú hodnotu je kombináciou pointerov a unionov a na jeho základe je možné zostrojiť najjednoduchšiu spojovú údajovú štruktúru -- spojový zoznam.

Existuje diskusia o tom, či dátové štruktúry reprezentujú implementácie alebo rozhrania. Záleží na uhle pohľadu -- na údajovú štruktúru sa môžeme pozerať ako na rozhranie medzi dvomi funkciami alebo ako implementáciu metód prístupu k úložnému priestoru, ktorý je organizovaný podľa príslušného dátového typu.

Pozri aj


Externé odkazy


Údajové štruktúry

Estructura de datos | Struktura podataka | Datastruktur | Datenstruktur | Data structure | Estructura de datos | Tietorakenne | Structure de données | מבנה נתונים | Adatszerkezet | Struktur data | Gagnagrind | データ構造 | 자료구조 | Datastructuur | Datastruktur | Struktura danych | Estrutura de dados | Структуры данных | Podatkovna struktura | Datastruktur | โครงสร้างข้อมูล | Структури даних | 数据结构

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Údajová štruktúra".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld