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

910 B

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í)