Uživatel:Penkape1/Pískoviště

Z WikiSkript

Binární stromy[upravit | editovat zdroj]

Binární strom je datová struktura pro reprezentaci dat. Tato struktura má hierarchické uspořádání. Tím je myšleno, že jeden prvek je nadřazen jiným podprvkům a tyto podprvky náleží tomuto prvku. Abychom mohli tuto strukturu vysvětlit je nutné si vysvětlit základní pojmy.

  • Kořen
  • Uzel
  • List
  • Otec
  • Syn


Otec[upravit | editovat zdroj]

Otec je uzel, který má pod sebou další uzly jemu náležící.

Syn[upravit | editovat zdroj]

Syn je uzel, který je podřízen jemu nadrazenému uzlu.

Kořen[upravit | editovat zdroj]

Je uzel, který je nadřazen všem ostatním uzlům. Tento uzel stojí hierarchický nejvýše a již nemá žádného otce. Neboli nemá žadné nadřazené uzly. Kořen může vždy mít pouze syny, neboli uzly jemu náležící.

Uzel[upravit | editovat zdroj]

Uzel je prvek, který má syny a zároveň otce. Neboli tento uzel má uzel, který je tomuto uzlu nadřazen a zároveň pod něj spadají uzly jemu náležicí.

List[upravit | editovat zdroj]

Tento uzel je koncovým uzlem této datové struktury. Jedná se o uzel, který nemá syny, ale pouze otce.

Příklad[upravit | editovat zdroj]

Abychom tyto pojmy lépe pochopili, uvedem se zde příklad binárního stromu.

Binární Strom
















V tomto obrázku mamé uzly označené kružnicí a spoje mezi nimi jsou prezentovány úsečkou mezi těmito kružnicemi. Každý uzel má určitou číselnou hodnotu. Uzel s číselnou hodnotou '6' je prostým uzlem a má 2 syny (uzly s číselnou hodnotou '5', '11'). Tento uzel je zároveň otcem těchto uzlů a jeho otcem je uzel s číselnou hodnotou '7'. Listy jsou zde spodní uzly a jedná se o uzly s číselnou hodnotou '5', '11' a '4'. Kořenem je zde vrchní uzel s číselnou hodnotou '2' a jeho synové jsou uzly s číselnou hodnotou '7' a '5'. Kořen již nemá otce.

Jedná se tedy o orientovaný graf s jedním vrcholem (kořenem), z něhož existuje cesta do všech vrcholů grafu. Aby se jednalo o binární strom musí každý otec mít maximálně dva syny.

Vlastnosti stromů[upravit | editovat zdroj]

poznámka: pro níže uvedené rovnice platí: – hloubka stromu, – počet uzlů, – počet listů , – počet vnitřních uzlů, – počet nillů,

  • Úplný binární strom
    • minimální počet uzlů získáme z rovnice a maximální počet .
    • počet nillů (NULL ukazatelů) roven .
    • počet listů roven (n/2 zaokrouhleno nahoru).
  • Plný binární strom
    • počet uzlů získáme z rovnice .
    • počet uzlů v úplném binárním získáme .