Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vypracovan okruhy k zapoctu.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
254.46 Кб
Скачать
  • Implementace grafu zřetězeným seznamem vrcholů a hran neLineární dynamické datové struktury – Obecný strom

  • obecné stromy

Obecný strom

Strom je orientovaný graf, který neobsahuje cykly, přičemž do každého vrcholu vstupuje maximálně jedna hrana. Z analogie z rodinné generační hierarchie je zvykem označovat vrchol na vyšší úrovni rodičem a vrcholy, které z něj bezprostředně vycházejí jako potomky (následníky)

Kořen ... vrchol, do kterého žádná hrana nevstupuje.

List ... vrchol, ze kterého žádná hrana nevystupuje.

Je zvykem zobrazovat stromy kořenem vzhůru s orientací dolů směrem k listům.

Důležitou vlastností stromů je, že každý jeho vrchol může být pokládán za kořen dalšího stromu. Vrcholy mohou být ohodnoceny. Protože do každého vrcholu vstupuje maximálně jedna hrana (žádná pouze do kořene stromu), není třeba hrany hodnotit zvlášť, nýbrž hodnocení hran může být součástí hodnocení vrcholu.

  • deklarace vrcholu obecného stromu v Pascalu

NeLineární dynamické datové struktury – binární vyhledávací strom

  • binární vyhledávací stromy

Binární strom

Má-li každý vrchol nejvýše dva potomky, nazývá se takový strom Binární. Každý vrchol binárního stromu má tedy levého, případně pravého následníka (potomka).

Uspořádaný binární strom je takový, jehož leví následníci každého vrcholu mají ohodnocení nižší než sám vrchol, praví následníci mají ohodnocení vyšší.

Takové stromy jsou velice důležitým pojmem a často se využívají pro implementaci nejrůznějších rozhodovacích procesů.

Každý vrchol stromu je reprezentován trojicí:

  • hodnota

  • ukazatel na levého potomka

  • ukazatel na pravého potomka

Poznámky:

  1. Hodnotou může být i složitě strukturovaný objekt, např. záznam.

  2. Celý strom je reprezentován ukazatelem na kořen.

  3. Nejvýhodnější implementace binárního uspořádaného stromu je pomocí dynamického spojového seznamu.

  • degenerace binárního vyhledávacího stromu

  • deklarace vrcholu binárního vyhledávacího stromu v Pascalu

Tabulky

  • Vstupně-sekvenční tabulka (vložení, rušení, vyhledání, změna)

Vstupněsekvenční tabulka

Vstupněsekvenční tabulka je nejjednodušším typem. Položky v tabulce nejsou organizovány podle žádného klíče, ale jsou zaznamenávány v pořadí jejich příchodu.

Výhodou vstupně sekvenčních tabulek je jejich jednoduchost. Používají se zejména tam, kde se vkládá velké množství položek a zpracovává se většina položek sekvenčním způsobem.

Tabulku lze implementovat dostatečně dlouhých polem. Prvkem tohoto pole je datový typ záznam, který obsahuje:

  • indikaci, zda je položka tabulky platná nebo zrušená

  • klíč

  • uživatelskou informaci

Indikace platnosti položky se používá pro urychlení rušení. Při rušení položky se nemusí posouvat následující položky. Stačí pouze označit příslušnou položku za zrušenou. Fyzické vypuštění se provede operací, která se nazývá reorganizace tabulky. Ta se provádí v době nízkého zatížení počítače nebo při určitém stavu zaplnění tabulky.

Dále je vhodné definovat řídící strukturu tabulky, která obsahuje tři prvky:

  • maximální počet položek v tabulce (počet prvků pole)

  • skutečný počet položek v tabulce

  • index poslední položky v tabulce

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]