FAV-ZCU/KIV PPA2/05. Abstraktní datové typy.md

25 lines
910 B
Markdown

# Abstraktní datové typy
- abstraktní - nezabývá se rozdíly, ale tím, co je **společné**
- definují možné operace s daty
- nedefinují způsob uložení dat ani provedení operací (implementaci)
**ADT vs rozhraní**
- ADT můžou být implementovány různě v různých jazycích
- rozhraní jen způsob implementace ADT v Javě
**Kolekce**
- datové struktury, které uchovávají sadu prvků
- umožňují operace s daty
- přidat prvek (na začátek, na konec, za/před prvek, s nějakým klíčem, ...)
- vybrat prvek (na začátku, na konci, na indexu, s extrémním klíčem, ...)
- odebrat prvek (na začátku, na konci, na indexu, s extrémním klíčem, ...)
**Implementace ADT**
- určuje složitost operací
- obvykle reprezentována třídou
**Úkol programátora**
- vybrat vhodnou ADT
- vybrat vhodnou implementaci ADT
- vědět, co ADT dělá (jaká je složitost operací)