Stromy - definice a základní vlastnosti
- Grafy připomínající vzhledem stromy / keře
graph BT; A[ ] --- B[ ]; B --- C[ ]; B --- D[ ]; C --- E[ ]; E --- F[ ]; D --- G[ ]; D --- H[ ]; D --- CH[ ]; CH --- I[ ]; CH --- J[ ]; classDef default fill:green,stroke-width:3px;
graph TD; A[ ] --- B[ ]; A --- C[ ]; B --- D[ ]; B --- E[ ]; D --- F[ ]; D --- G[ ]; E --- H[ ]; E --- CH[ ]; C --- I[ ]; C --- J[ ]; I --- K[ ]; I --- L[ ]; J --- M[ ]; J --- N[ ]; classDef default fill:green,stroke-width:3px;
-
Strom je neorientovaný graf bez kružnic
-
Vrchol se stupněm se nazývá koncový
-
Koncový vrchol stromu se nazývá list
-
Odebereme-li ze stromu list a hranu, která do něj vede, vznikne opět strom
-
V každém stromu s alespoň dvěma vrcholy existují alespoň dva listy
-
Pro graf a jeho koncový vrchol jsou následující tvrzení ekvivalentní
- je strom
- je strom
-
Pro neorientovaný graf jsou následující tvrzení ekvivalentní
- je strom
- Mezi každými dvěma vrcholy grafu existuje právě jedna cesta
- je souvislý, ale vynecháním libovolné hrany vznikne nesouvislý
- neobsahuje kružnice, ale přidáním jakékoli hrany vznikne graf s kružnicí
- neobsahuje kružnice a
- je souvislý a
Kořenové stromy
-
Kořenový strom je dvojice , kde je strom a je vrchol, tzv. kořen
-
Kořenový strom je tedy strom, ve kterém je vybrán jeden kořen. Může to být kterýkoliv vrchol. Bývá to ale vrchol, který je v nějakém smyslu na vrcholu hierarchie objektů, která je stromem reprezentována.
-
Nechť je kořenový strom
- Vrchol se nazývá potomek vrcholu ( se nazývá předek vrcholu ), právě když cesta z kořene do má tvar
- Vrchol se nazývá následovník (přímý potomek) vrcholu ( se nazývá předchůdce (rodič) vrcholu ), právě když cesta z kořene do má tvar
- Vrchol se nazývá list kořenového stromu, právě když nemá žádného následovníka (jinak se nazývá vnitřní vrchol)
- Hloubka (úroveň) vrcholu je délka cesty od kořene do
- Výška vrcholu je délka nejdelší cesty od do některého z listů
- Výška (hloubka) stromu je výška jeho kořene
- Kořenový strom s hloubkou se nazývá vyvážený, pokud má každý jeho list úroveň nebo
-
Kořenový strom se nazývá -ární, právě když každý jeho vrchol má nejvýše potomků
-
-ární kořenový strom výšky se nazývá zaplněný, pokud splňuje následující podmínky:
- každý vrchol s výjimkou vrcholů s hloubkou má nebo následovníků
- každý list má hloubku nebo
-
Kořenový strom se nazývá uspořádaný, je-li ke každému vrcholu, který není listem, zadáno lineární uspořádání jeho potomků
Binární vyhledávací stromy
- Binární vyhledávací stromy slouží k ukládání a vyhledávání dat
- Jsou to binární kořenové stromy s dodatečnou informací, která splňuje jistá omezení usnadňující vyhledávání
- Dodatečná informace: Vrcholy binárního vyhledávacího stromu jsou ohodnoceny číselnými hodnotami; budeme předpokládat, že ohodnocení je funkce
- Omezení:
- Je-li levým následníkem vrcholu nebo potomkem tohoto následníka, pak
- Je-li pravým následníkem vrcholu nebo potomkem tohoto následníka, pak
graph TD classDef hidden stroke:transparent,fill:transparent,color:transparent; 8 --- 2; 8 --- 15; 2 --- -3; 2 --- 4; -3 --- -5; -3 --- 0; 4 --- X; 4 --- 7; 15 --- 14; 15 --- 20; 14 --- 11; 14 --- XX; 20 --- 16; 20 --- 21; class X,XX hidden; linkStyle 6 stroke:transparent; linkStyle 11 stroke:transparent;
graph TD classDef hidden stroke:transparent,fill:transparent,color:transparent; 5 --- X; 5 --- 6[4]; 6 --- XX; 6 --- 10[2]; 10 --- XXX; 10 --- 12[3]; class X,XX,XXX hidden; linkStyle 0 stroke:transparent; linkStyle 2 stroke:transparent; linkStyle 4 stroke:transparent;
-
V zaplněném binárního kořenového stromu s vrcholy a listy, který má výšku platí:
-
V libovolném binárním kořenovém stromu s vrcholy a listy, který má výšku , platí:
Navigace
Předchozí: Minimální kostra grafu, Kruskalův algoritmus Následující: Matice, operace s maticemi, hodnost, determinant Celý okruh: 1. Teoretické základy informačních technologií