Abstraktní datové typy

Miroslav Beneš

Katedra informatiky FEI VŠB-TU Ostrava

Obsah

3.1. Co je to abstraktní datový typ
3.1.1. Abstraktní datový typ
3.1.2. Typy operací
3.1.3. Implementace abstraktních datových typů
3.1.4. Definice rozhraní
3.1.5. Základní abstraktní datové typy
3.1.6. Pojmy k zapamatování
3.1.7. Otázky
3.1.8. Úlohy k řešení
3.2. Zásobník
3.2.1. Reprezentace zásobníku pomocí statického pole
3.2.2. Reprezentace zásobníku pomocí dynamického pole
3.2.3. Reprezentace zásobníku pomocí vázaného seznamu
3.2.4. Aplikace datového typu zásobník
3.2.5. Úlohy k řešení
3.3. Fronta
3.3.1. Reprezentace fronty pomocí cyklického pole
3.3.2. Reprezentace fronty vázaným seznamem
3.3.3. Úlohy k řešení
3.4. Seznam
3.4.1. Implementace seznamu pomocí pole
3.4.2. Implementace jednosměrně vázaného seznamu
3.4.3. Implementace obousměrně vázaného seznamu
3.4.4. Úlohy k řešení
3.5. Iterátor
3.5.1. Provedení akce nad všemi prvky kolekce
3.5.2. Úlohy k řešení
3.6. Množina
3.6.1. Implementace seznamem s lineárním vyhledáváním
3.6.2. Implementace uspořádaným seznamem s binárním vyhledáváním
3.6.3. Úlohy k řešení
3.7. Strom
3.7.1. Binární strom
3.7.2. Převod binárního stromu na text
3.7.3. Průchod binárním stromem
3.7.4. Binární vyhledávací strom
3.7.5. Stromy s neomezeným větvením
3.7.6. Reprezentace výrazu jako obecného stromu
3.7.7. Úlohy k řešení
3.8. Zobrazení
3.8.1. Reprezentace seznamem
3.8.2. Reprezentace množinou dvojic
3.8.3. Tabulka s rozptýlenými položkami
3.8.4. Tabulka s řetězením synonym
3.8.5. Tabulka s otevřeným adresováním
3.8.6. Úlohy k řešení
3.9. Abstraktní datové typy v jazycích Java a C#
3.9.1. Java
3.9.2. C#
3.9.3. Úlohy k řešení

Cíl kapitoly

Po prostudování této kapitoly budete umět

Průvodce studiem

Ke studiu této kapitoly věnované abstraktním datovým typům budete potřebovat základní vývojové nástroje pro prostředí jazyka Java, přičemž vystačíte i s řádkovými překladači volně dostupnými na Internetu. Většinu uvedených příkladů však můžete vyzkoušet i v jiných jazycích založených na obdobných principech, např. C# nebo C++.