Na základě poznatků o souvislosti datových struktur a efektivností algoritmů s procesem systematického vytváření programů se dospělo k vytváření abstraktních datových struktur. Výsledky zkoumání výpočetní složitosti algoritmů ukázaly, že v mnohých případech vede použití nových, zdánlivě složitých datových struktur k vytváření nových kvalitativně účinnějších algoritmů. Od datového typu se zdůrazněním vnějšího chování datové struktury dospívá k abstraktním datovým strukturám (ADS) a k abstraktním typu dat (ATD). Abstraktní datový typ je tedy odvozen z datového typu abstrahováním jeho nejvýznamnějších vlastností a pominutím ostatních, především technicko-implementačních stránek reprezentace v paměti a realizace operací konkrétními programovými prostředky. Odsunutí implementační stránky ADS do fáze jejího rozkladu a zejména možnost uzavření této implementace do samostatného programového celku (procedury, modulu) významně zjednodušuje algoritmus pracující s ADS.
Operační specifikace
Sestávají přímo z algoritmů, implementujících jednotlivé operace nad strukturou dat.
Vlastnosti těchto operací nejsou popsány explicitně, ale je nutno je abstrahovat analýzou odpovídajících algoritmů.
Pro zápis operačních specifikací se používá většinou určitý známý programovací jazyk.
Algebraická specifikace
Popisuje vlastnosti operací pomocí axiomů a neudávají přitom algoritmy,
jakými mají být operace implementovány. Axiomy mohou sloužit jako invariantní
tvrzení, pomocí nichž lze dokazovat správnost programů.
|
|
20. 9. 1999 |
|
|
||
|
|