![]() |
||||
Datová struktura je účelné uspořádání prvků, částí nebo složek datového celku podle určitého jednotícího principu a soustava vnitřních vztahů, souhrn pravidel a omezení, účelně organizujících složky tohoto celku.
Rozlišujeme logickou a fyzickou úroveň práce s datovou strukturou. Logická úroveň je abstraktní představou, fyzická představuje její implementaci. Struktura může být implementována několika způsoby. Např. komplexní číslo může být implementováno v kartézských nebo polárních souřadnicích, seznam lze implementovat polem nebo zřetězením dynamických proměnných.
Logická úroveň souvisí s tzv. sémantikou datové struktury.
Sémantika datové struktury (DS) určuje:
Popis datové struktury tvoří tzv. schéma datové struktury, někdy se mluví o typu datové struktury. Schéma datové struktury se vyskytuje v systému pouze jednou.
Způsob zavedení schémat se liší podle nástroje (programovacího jazyka), který se používá (např. definice/deklarace typu v strukturálních jazycích, zavedení třídy v objektové technologii, apod.).
Konkrétně zavedeným a používaným datovým strukturám určitého typu, které mají každá své jméno, se říká instance. Počet instancí určitého typu není omezen.
Existuje-li pro danou datovou strukturu aparát, který umožní jednorázové její naplnění DS konkrétními daty, říkáme, že pro datovou strukturu existuje konstruktor.
Např. datová struktura pole (array) ve většině programovacích systémů nemá konstruktor.
Je-li možno přistupovat a pracovat s jednotlivými prvky datové struktury, říkáme, že pro datovou strukturu existuje selektor.
Např. datová struktura množina nemá selektor. Selektorem datové struktury pole je index. Selektorem datové struktury záznam je jméno položky.
Datové struktury v nejvyšších abstrakcích jsou již velmi složité. Mohou obsahovat i kusy programů (objekty - metody komponentní technologie s tzv. scripty).
Dělení datových struktur lze provést podle různých parametrů:
Podle strukturovanosti na:
Podle typu položek na:
Podle polohy sousedních položek na:
Podle změn počtu položek na:
V tabulce jsou uvedeny některé vybrané datové struktury se svými vlastnostmi.