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