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í