Strom – strukturu typu strom můžeme definovat buď jako prázdnou strukturu, prázdný strom nebo jako vrchol, ke kterému je připojen konečný počet stromových struktur, nazývaných podstromy. Tato definice jinými slovy říká, že každý strom je tvořen dalšími stromy, pro které platí tatáž definice. Definice stromu je tedy rekurzivní. Tato skutečnost se promítne i v použitých algoritmech, které budou obsahovat rekurzivní podprogramy. Stromy a seznamy mají podobné definice. Z toho vyplývá, že seznam je vlastně zvláštní druh stromové struktury, ve které každý vrchol má jeden podstrom. Nejvyšší vrchol stromu se nazývá kořen. Prvky, které jsou na konci stromu, tj. ty, které nemají následníka, se nazývají koncové prvky nebo také listy. Ostatní prvky stromu nazýváme vnitřní vrcoly. Obecný strom může mít více následníků. V praxi však mají největší význam stromy, kde vrchol má určeny dva následníky. Tyto stromy se nazývají binární stromy. Binární strom, v němž se počet vrcholů levého podstromu liší od počtu vrcholů pravého podstromu nejvýše o jeden, nazýváme dokonale vyvážený binární podstrom. Dokonale vyvážené podstromy mají řadu výhod. Například při hledání hodnot v uspořádaném a vyváženém binárním stromu je počet podmínek menší nebo roven počtu úrovní stromu. Účinnost tohoto způsobu hledání je srovnatelná s hledáním metodou půlení intervalu.
Další ADT – fronta, zásobník
Objekt je definován jako datový typ, který obsahuje jednak datové složky, jednak odkazy na podprogramy, které zajišťují operace nad datovými složkami. Datový typ objekt je základním stavebním kamenem objektově orientovaných programů. V jazyce Turbo Pascal je tento datový typ označen vyhrazeným slovem object. Jeho syntax se na první pohled podobá datovému typu záznam. S postupujícími verzemi jazyka se obohacovala i implementace datového typu object o další možnosti. Základní vlastnosti objektů jsou: zapouzdřenost – vyjadřuje sloučení datových složek a ovládacích podprogramů do jednoho celku, dědičnost – představuje schopnost přebírat vlastnosti jiného objektu, mnohotvarost – vyjadřuje schopnost identického ovládání určité sady podobných objektů.
Žádné komentáře:
Okomentovat