Abstraktní datové typy

Z FAV wiki
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Založena nová stránka: 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ší...)
 
m (kategorizace)
 
(Nejsou zobrazeny 4 mezilehlé verze od 1 uživatele.)
Řádka 1: Řádka 1:
 
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ů.  
 
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:
+
 
−
je zcela oddělený blok, s klientským programem komunikuje pomocí rozhraní
+
== Abstraktní datový typ ==
−
je nezávislý na implementaci, na venek se projevuje jen veřejnými metodami
+
 
−
vše ostatní, kromě ovládacích metod, je uživateli skryto (samotná data a přístup k nim např.) (integrita)
+
* je zcela oddělený blok, s klientským programem komunikuje pomocí rozhraní
−
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 nezávislý na implementaci, na venek se projevuje jen veřejnými metodami
−
je pevně a jasně definován
+
* vše ostatní, kromě ovládacích metod, je uživateli skryto (samotná data a přístup k nim např.) (integrita)
 +
* 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
 +
 
  
 
ADT definuje a podporuje tyto operace
 
ADT definuje a podporuje tyto operace
−
kostruktor - vytvoří istanci ADT
+
* '''kostruktor''' - vytvoří istanci ADT
−
selektor - vyhledá žádaný prvek (indexer, At(), Pop()...)
+
* '''selektor''' - vyhledá žádaný prvek (indexer, At(), Pop()...)
−
modifikátor - upraví data ve struktuře (indexer, Push(), Add()...)
+
* '''modifikátor''' - upraví data ve struktuře (indexer, Push(), Add()...)
  
 
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
 
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, ....
+
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í.
 
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í.
 +
 +
{{fav-kiv-bzinf}}
 +
[[Kategorie:fav-kiv-bzinf]]

Aktuální verze z 20. 2. 2014, 06:34

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ů.


[editovat] 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:

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