25 lines
910 B
Markdown
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í)
|