Abstraktní datový typ: Porovnání verzí
Smazaný obsah Přidaný obsah
→Příklady: doplněna halda |
m robot: typografické a kódové korekce a náhrady přesměrování podle specifikace |
||
Řádek 3:
==Definice==
'''Datový typ''' je rozsah hodnot, které může proměnná tohoto datovému typu přijmout, a množina operací (funkce, metody nebo procedury),které jsou pro tento datový typ specifikovány. "+" je například definován pro numerické typy, a v některých programovacích jazycích pro typ string (řetězec). "-" je naproti tomu zpravidla definován jen pro numerické typy dat. Množina operací je uvedena v interface.
Abstraktní datový typ může mít odlišnou specifikaci. Ta se skládá z příznaků a sémantiky. Když vyřkneme matematickou definici, jedná se většinou o vztah mezi označením, zdroji a [[axiom
Krátká definice: Abstraktní datový typ je implementačně závislá specifikace struktury dat s operacemi povolenými na této struktuře.
Řádek 27:
Robustnost ADT spočívá v tom, že implementace je skrytá a programátorovi jsou nabídnuty pouze ovládací prvky. Vlastní implementaci ale lze změnit.
Je rozdíl mezi abstraktním datovým typem a datovou strukturou použitou pro jeho implementaci. Například seznam jako ADT může být implementován jako pole, nebo jako spojový seznam. Seznam je ADT s definovanými operacemi (jako vložit_prvek, smazat_prvek atd.), ale spojový seznam je datová struktura, která používá [[ukazatel
==Zabudované ADT==
Protože některé abstraktní datové typy jsou velmi užitečné a běžně používané, některé programovací jazyky používají tyto ADT jako primitivní datové typy, které jsou přidány do jejich [[Knihovna (programování)|knihoven]]. Například v [[Perl
==Abstraktní datová struktura==
Řádek 46:
* '''Zapouzdření''': rozhraní by mělo být pojato jako uzavřená část. Uživatel by měl vědět přesně co ADT dělá, ale ne jak to dělá.
* '''Integrita''': uživatel nemůže zasahovat do vnitřní struktury dat. Tím se výrazně sníží riziko nechtěného smazání nebo změna již uložených dat.
* '''Modularita''':
Pokud je ADT programován objektově, jsou většinou tyto vlastnosti splněny.
|