Abstraktní datové typy

Z FAV wiki
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(→Abstraktní datový typ)
Řádka 9: Řádka 9:
 
* je (klientsky) nezávislým blokem, může jej využívat kdokoliv, kdo zná rozhraní (pokud je ADT tedy třeba v DLL knihovně, můžeme jej používat i z jiných jazyků) (modularita)
 
* je (klientsky) nezávislým blokem, může jej využívat kdokoliv, kdo zná rozhraní (pokud je ADT tedy třeba v DLL knihovně, můžeme jej používat i z jiných jazyků) (modularita)
 
* je pevně a jasně definován
 
* je pevně a jasně definován
 +
  
 
ADT definuje a podporuje tyto operace
 
ADT definuje a podporuje tyto operace

Verze z 7. 8. 2011, 15:42

ADT je matematický model dat a operace nad těmito daty. Využívá základních datových typů pro konstrukci komplexnějších ADT, které využíváme pro snadnější organizaci dat a často pro optimalizaci algoritmů.


Abstraktní datový typ


ADT definuje a podporuje tyto operace

Těmito operacemi jsou data jako taková uživateli skryta. Dynamická množina - množina dat, které předchozí operace podporuje, základ většiny ADT

Příklady ADT: Seznam, Fronta, Zásobník, Trie, Binární vyhledávací strom, Hashmapa, ....

ADT je často využíváno návrhovými vzory. V některých jazycích lze ADT vytvořit jako generické, tedy vhodné pro uchování libovolného datového typu (např List<int>). Tyto generické ADT jsou také často v jazyce již implementovány jako knihovny (C# v Generics, C++ v Standard Template Library). U jazyků, které toto nepodporují lze využít Objekt, a ten přetypovávat, což není ideální, ale funguje. U jazyků nemajících objekt je to horší, musíme přijít s vlastní specifickou implementací.

Osobní nástroje
Jmenné prostory
Varianty
Akce
Navigace
Nástroje