L03: Stromy, hierarchie a vyhledávání

STUDIJNÍ TEXT (Teorie)

V minulé lekci jsme řešili grafy, kde byly občas nějaké cykly. Dnes se podíváme na speciální, „čistý“ typ grafu, který je základem pro organizaci dat v počítači i evoluci v přírodě.

1. Co je to Strom (Tree)?

Strom je graf, který je souvislýnemá žádné cykly.

Představte si rodokmen nebo organizační strukturu firmy. Cesta z bodu A do bodu B je vždy jen jedna. Nemůžete „obejít“ někde kolem přes C.

Hlavní znaky stromu:

  • Kořen (Root): Hlavní uzel, ze kterého vše začíná (např. složka C:\ je „společný předek“ složek „Dokumenty“ a „Hudba“, nebo „LUCA“ strom – last universal common ancestor, vědecký pojem pro posledního univerzálního společného předka všech organismů na Zemi).
  • Listy (Leaves): Uzly na konci větví, které nemají žádné další potomky (koncové soubory ve složkách, nebo např. strom života a dnes žijící druhy ve vazbě na „LUCA“).
  • Rodič & Potomek (Parent & Child): Hierarchický vztah (nadřízený → podřízený).

Ukázka stromového grafu

Obr. 1: Ukázka stromového grafu s popisem uzlů a vztahů.

2. Měření ve stromu (Metriky)

V grafu můžeme měřit vzdálenosti, což je užitečné pro chemiky, biology, informatiky a další.

  • Vzdálenost (Distance): Počet hran (čar), které musíme projít na cestě z jednoho uzlu do druhého.
    • V biologii: Čím větší vzdálenost ve stromu života, tím méně jsou si druhy příbuzné.
  • Hloubka stromu (Depth/Height): Počet pater od kořene k nejvzdálenějšímu listu.

Graf typu STROM - hloubka stromuy

Obr. 2: Ukázka stromového grafu s vyznačením hloubky stromu a vzdálenosti mezi kořenem a listem 1.

3. Binární stromy a síla rozhodování

V informatice jsou klíčové Binární stromy, kde má každý uzel maximálně dva potomky (levý a pravý) viz obr. 1 a obr. 2.

Proč? Protože to umožňuje neuvěřitelně rychlé hledání.

  • Lineární hledání: Hledáte jméno v seznamu jedno po druhém.
    U milionu jmen to trvá dlouho.
  • Binární hledání (půlení): Seřadíte jména. Otevřete seznam uprostřed. Je jméno v první, nebo ve druhé polovině?
    • V první polovině? → Zahodíte celou druhou polovinu.
    • Zbyde vám jen polovina. Znovu ji rozpůlíte.
    • Tímto způsobem najdete cokoliv v milionu položek na pouhých 20 dotazů!
      (220 ≈ 1 000 000)

Automatic translation

Můžete využít automatický překlad stránek do následujících jazyků. Výchozím jazykem je čeština. K automatickému překladu využíváme služeb GTranslate.
You can use automatic translation of the pages into the following languages. The default language is Czech. We use GTranslate services for automatic translation.

Czech English French German Italian Portuguese Russian Spanish

e-Mole zpravodaj

Objednejte si zasílání novinek e-mailem! Váš e-mail bude použit pouze k zasílání informací o novinkách na našem webu. Odebírání e-mailového zpravodaje můžete kdykoli zrušit (váš email bude z naší databáze trvale odstraněn).