Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vypracovan okruhy k zapoctu.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
254.46 Кб
Скачать

Lineární dynamické datové struktury

  • zásobník, implementace polem a dynamickou pamětí, operace se zásobníkem

Sémantický význam

Dynamická lineární homogenní datová struktura, představovaná posloupností jednotlivých prvků. Prvky se do zásobníku ukládají v pořadí, jak přicházejí. Prvek, který byl do zásobníku uložen jako poslední, tvoří tzv. vrchol zásobníku (Top of Stack) a pouze ten je přístupný, případně je možno jej ze zásobníku vyjmout. Slovně lze zásobník charakterizovat výrokem „Poslední dovnitř, první ven“, anglicky „Last In First Out“, zkráceně LIFO, lidově pravidlo šíleného mlynáře ("Poslední přišel, první mlel"). Zásobník se použije tehdy, chceme-li dočasně uložit data tak, aby při jejich výběru byly zpracovány jako první ty, které přišly jako poslední.

  • fronta, implementace polem, a dynamickou pamětí, operace s frontou

implementace polem a dynamickou pamětí Použije se tehdy, když víme, že velikost zásobníku bude menší než určitá hodnota nebo dokonce známe maximální velikost přesně.

dynamickou pamětí Použije se tehdy, neznáme-li předem počet prvků, které se mohou do zásobníku uložit. Protože se pracuje jen s vrcholem zásobníku, potřebujeme jen jeden ukazatel. prvky však musí být rozšířeny o zpětný ukazatel na minulý prvek.

  • deklarace zásobníku v Pascalu

Inicializace zásobníku.

Přidání prvku do zásobníku (PUSH)

Odstranění prvku ze zásobníku

Přístup k hodnotě prvku na vrcholu zásobníku

Test, zda je zásobník prázdný

Někdy bývají operace zpřístupnění a odstranění sloučeny do jedné (POP)

  • spojový seznam, jednoduchý, dvojitý, operace se spojovým seznamem, deklarace prvku spojového seznamu v Pascalu

  • deklarace prvku dvojitého seznamu v Pascalu

Nelineární dynamické datové struktury – Sítě a grafy

  • síťové datové struktury, grafy, incidenční matice, tranzitivní uzávěr

Graf

Graf je dynamická nelineární datová struktura, která dovoluje vyjadřovat vazby mezi prvky. Prvky se nazývají vrcholy nebo uzly grafu (nodes, vertex - vertices), vazby mezi objekty jsou hrany grafu (edges).

Příklady:

  • Vrcholy grafu jsou názvy měst, hrany silnice.

  • Transformační stanice jsou vrcholy grafu, elektrická vedení vysokého napětí jsou hrany.

Každé hraně v grafu přísluší dvojice vrcholů. Hrana tyto vrcholy spojuje. Pokud je dvojice vrcholů, příslušejících jednotlivým hranám, orientovaná (můžeme si představit, že silnice mezi městy jsou jednosměrné), jde o graf orientovaný, jinak o graf neorientovaný.

S hranami i vrcholy mohou být spojeny další informace (např. u měst počet obyvatel, u hran vzdálenost měst). Pak hovoříme o grafu hranově nebo vrcholově ohodnoceném.

Graf můžeme vyjádřit buď pomocí dvourozměrné matice nebo dynamickými seznamy vrcholů a hran.

Maticový popis grafu

Známe-li maximální počet vrcholů v grafu (nejčastější případ), dají se někdy operace nad grafem převést na maticové operace. Graf je reprezentován tzv. incidenční maticí (dvojrozměrným polem) . Ta vyjadřuje incidenci (sousedních) vrcholů. Snadno se realizují operace přidání hrany, odebrání hrany, test existence hrany. Obtížněji se pracuje s vrcholy. Typickým příkladem je např. návrh (analýza) elektrických sítí.

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