4 Stromy a les Jedn m ze z kladn ch, a patrn ї nejjednodu 0 8 0 8 m, typem graf 0 1 jsou takzvan і stromy. Jedn se o souvisl і grafy bez kru 0 6nic. P 0 0es svou (zd nlivou) jednoduchost maj stromy bohatou strukturu a p 0 0edev 0 8 m mno 0 6stv vlastn ch aplikac, nap 0 0 klad v datov 0 5ch struktur ch. 7е5 7ц1 7е5 7е5 7 4 7ц1 7 4 7 4 7 4 Ь Ь 7Ґ8 7Ґ8 7Ґ8 7Ґ8 7б7 7б7 7б7 7 4 7 4 7 4 7 4 Petr Hlin їn 0 5, FI MU Brno 1 FI: MA010: Stromy a les
4 Stromy a les Jedn m ze z kladn ch, a patrn ї nejjednodu 0 8 0 8 m, typem graf 0 1 jsou takzvan і stromy. Jedn se o souvisl і grafy bez kru 0 6nic. P 0 0es svou (zd nlivou) jednoduchost maj stromy bohatou strukturu a p 0 0edev 0 8 m mno 0 6stv vlastn ch aplikac, nap 0 0 klad v datov 0 5ch struktur ch. 7е5 7ц1 7е5 7е5 7 4 7ц1 7 4 7 4 7 4 Ь Ь 7Ґ8 7Ґ8 7Ґ8 7Ґ8 7б7 7б7 7б7 7 4 7 4 7 4 7 4 Patrn ї nejstar 0 8 motivac pojmu stromu jsou rodokmeny ( po me 0 0i ), jejich 0 6 p 0 1vod sah daleko p 0 0ed vznik teorie graf 0 1. Stru 0 0n 0 5 p 0 0ehled lekce 6і1 Definice a z kladn vlastnosti strom 0 1. 6і1 Ko 0 0enov і a uspo 0 0 dan і stromy, isomorfismus. 6і1 Kostry graf 0 1 a jejich po 0 0et. Petr Hlin їn 0 5, FI MU Brno 1 FI: MA010: Stromy a les
4.1 Z kladn vlastnosti strom 0 1 Definice 4.1. Strom je jednoduch 0 5 souvisl 0 5 graf T bez kru 0 6nic. Lema 4.2. Strom s v ce ne 0 6 jedn m vrcholem obsahuje vrchol stupn ї 1. Petr Hlin їn 0 5, FI MU Brno 2 FI: MA010: Stromy a les
4.1 Z kladn vlastnosti strom 0 1 Definice 4.1. Strom je jednoduch 0 5 souvisl 0 5 graf T bez kru 0 6nic. Lema 4.2. Strom s v ce ne 0 6 jedn m vrcholem obsahuje vrchol stupn ї 1. D 0 1kaz: Souvisl 0 5 graf s v ce ne 0 6 jedn m vrcholem nem 0 1 0 6e m t vrchol stupn ї 0. Proto vezmeme strom T a v n їm libovoln 0 5 vrchol v. Sestroj me nyn co nejdel 0 8 sled S v T za 0 0 naj c ve v: S za 0 0ne libovolnou hranou vych zej c z v. V ka 0 6d іm dal 0 8 m vrchole u, do kter іho se dostaneme a m stupe v їt 0 8 ne 0 6 1, lze pak pokra 0 0ovat sled S dal 0 8 novou hranou. Uv їdomme si, 0 6e pokud by se ve sledu S poprv і zopakoval n їkter 0 5 vrchol, z skali bychom kru 0 6nici, co 0 6 ve strom ї nelze. Proto sled S mus jednou skon 0 0it v n їjak іm vrcholu stupn ї 1 v T. Petr Hlin їn 0 5, FI MU Brno 2 FI: MA010: Stromy a les
4.1 Z kladn vlastnosti strom 0 1 Definice 4.1. Strom je jednoduch 0 5 souvisl 0 5 graf T bez kru 0 6nic. Lema 4.2. Strom s v ce ne 0 6 jedn m vrcholem obsahuje vrchol stupn ї 1. D 0 1kaz: Souvisl 0 5 graf s v ce ne 0 6 jedn m vrcholem nem 0 1 0 6e m t vrchol stupn ї 0. Proto vezmeme strom T a v n їm libovoln 0 5 vrchol v. Sestroj me nyn co nejdel 0 8 sled S v T za 0 0 naj c ve v: S za 0 0ne libovolnou hranou vych zej c z v. V ka 0 6d іm dal 0 8 m vrchole u, do kter іho se dostaneme a m stupe v їt 0 8 ne 0 6 1, lze pak pokra 0 0ovat sled S dal 0 8 novou hranou. Uv їdomme si, 0 6e pokud by se ve sledu S poprv і zopakoval n їkter 0 5 vrchol, z skali bychom kru 0 6nici, co 0 6 ve strom ї nelze. Proto sled S mus jednou skon 0 0it v n їjak іm vrcholu stupn ї 1 v T. 7а3 V їta 4.3. Strom na n vrcholech m p 0 0esn ї n 6с1 1 hran pro n щ 1. Petr Hlin їn 0 5, FI MU Brno 2 FI: MA010: Stromy a les
4.1 Z kladn vlastnosti strom 0 1 Definice 4.1. Strom je jednoduch 0 5 souvisl 0 5 graf T bez kru 0 6nic. Lema 4.2. Strom s v ce ne 0 6 jedn m vrcholem obsahuje vrchol stupn ї 1. D 0 1kaz: Souvisl 0 5 graf s v ce ne 0 6 jedn m vrcholem nem 0 1 0 6e m t vrchol stupn ї 0. Proto vezmeme strom T a v n їm libovoln 0 5 vrchol v. Sestroj me nyn co nejdel 0 8 sled S v T za 0 0 naj c ve v: S za 0 0ne libovolnou hranou vych zej c z v. V ka 0 6d іm dal 0 8 m vrchole u, do kter іho se dostaneme a m stupe v їt 0 8 ne 0 6 1, lze pak pokra 0 0ovat sled S dal 0 8 novou hranou. Uv їdomme si, 0 6e pokud by se ve sledu S poprv і zopakoval n їkter 0 5 vrchol, z skali bychom kru 0 6nici, co 0 6 ve strom ї nelze. Proto sled S mus jednou skon 0 0it v n їjak іm vrcholu stupn ї 1 v T. 7а3 V їta 4.3. Strom na n vrcholech m p 0 0esn ї n 6с1 1 hran pro n щ 1. D 0 1kaz: Toto tvrzen dok 0 6eme indukc podle n. Strom s jedn m vrcholem m n 6с1 1 = 0 hran. Necht T je strom na n > 1 vrcholech. Podle Lematu 4.2 m T vrchol v stupn ї 1. Ozna 0 0me T Д = T 6с1v graf vznikl 0 5 z T odebr n m vrcholu v. Pak T Д je tak і souvisl 0 5 bez kru 0 6nic, tud 0 6 strom na n 6с1 1 vrcholech. Dle induk 0 0n ho p 0 0edpokladu T Д m n 6с1 1 6с1 1 hran, a proto T m n 6с1 1 6с1 1 + 1 = n 6с1 1 hran. 7а3 Petr Hlin їn 0 5, FI MU Brno 2 FI: MA010: Stromy a les
V їta 4.4. Mezi ka 0 6d 0 5mi dv їma vrcholy stromu vede pr v ї jedin cesta. Petr Hlin їn 0 5, FI MU Brno 3 FI: MA010: Stromy a les
V їta 4.4. Mezi ka 0 6d 0 5mi dv їma vrcholy stromu vede pr v ї jedin cesta. D 0 1kaz: Jeliko 0 6 strom T je souvisl 0 5 dle definice, mezi libovoln 0 5mi dv їma vrcholy u, v vede n їjak cesta. Pokud by existovaly dv ї r 0 1zn і cesty P 1, P 2 mezi u, v, tak bychom vzali jejich symetrick 0 5 rozd l, podgraf H = P 1 6р2P 2 s nepr zdnou mno 0 6inou hran, kde H z 0 0ejm ї m v 0 8echny stupn ї sud і. Na druhou stranu se v 0 8ak podgraf stromu mus op їt skl dat z komponent strom 0 1, a tud 0 6 obsahovat vrchol stupn ї 1 podle Lematu 4.2, spor. Proto cesta mezi u a v existuje jen jedna. Petr Hlin їn 0 5, FI MU Brno 3 FI: MA010: Stromy a les
V їta 4.4. Mezi ka 0 6d 0 5mi dv їma vrcholy stromu vede pr v ї jedin cesta. D 0 1kaz: Jeliko 0 6 strom T je souvisl 0 5 dle definice, mezi libovoln 0 5mi dv їma vrcholy u, v vede n їjak cesta. Pokud by existovaly dv ї r 0 1zn і cesty P 1, P 2 mezi u, v, tak bychom vzali jejich symetrick 0 5 rozd l, podgraf H = P 1 6р2P 2 s nepr zdnou mno 0 6inou hran, kde H z 0 0ejm ї m v 0 8echny stupn ї sud і. Na druhou stranu se v 0 8ak podgraf stromu mus op їt skl dat z komponent strom 0 1, a tud 0 6 obsahovat vrchol stupn ї 1 podle Lematu 4.2, spor. Proto cesta mezi u a v existuje jen jedna. 7а3 D 0 1sledek 4.5. P 0 0id n m jedn і nov і hrany do stromu vznikne pr v ї jedna kru 0 6nice. D 0 1kaz: Necht mezi vrcholy u, v ve stromu T nen hrana. P 0 0id n m hrany e = uv vznikne pr v ї jedna kru 0 6nice z e a jedin і cesty mezi u, v v T podle V їty 4.4. Petr Hlin їn 0 5, FI MU Brno 3 FI: MA010: Stromy a les
V їta 4.4. Mezi ka 0 6d 0 5mi dv їma vrcholy stromu vede pr v ї jedin cesta. D 0 1kaz: Jeliko 0 6 strom T je souvisl 0 5 dle definice, mezi libovoln 0 5mi dv їma vrcholy u, v vede n їjak cesta. Pokud by existovaly dv ї r 0 1zn і cesty P 1, P 2 mezi u, v, tak bychom vzali jejich symetrick 0 5 rozd l, podgraf H = P 1 6р2P 2 s nepr zdnou mno 0 6inou hran, kde H z 0 0ejm ї m v 0 8echny stupn ї sud і. Na druhou stranu se v 0 8ak podgraf stromu mus op їt skl dat z komponent strom 0 1, a tud 0 6 obsahovat vrchol stupn ї 1 podle Lematu 4.2, spor. Proto cesta mezi u a v existuje jen jedna. 7а3 D 0 1sledek 4.5. P 0 0id n m jedn і nov і hrany do stromu vznikne pr v ї jedna kru 0 6nice. D 0 1kaz: Necht mezi vrcholy u, v ve stromu T nen hrana. P 0 0id n m hrany e = uv vznikne pr v ї jedna kru 0 6nice z e a jedin і cesty mezi u, v v T podle V їty 4.4. 7а3 V їta 4.6. Strom je minim ln souvisl 0 5 graf (na dan 0 5ch vrcholech). Petr Hlin їn 0 5, FI MU Brno 3 FI: MA010: Stromy a les
V їta 4.4. Mezi ka 0 6d 0 5mi dv їma vrcholy stromu vede pr v ї jedin cesta. D 0 1kaz: Jeliko 0 6 strom T je souvisl 0 5 dle definice, mezi libovoln 0 5mi dv їma vrcholy u, v vede n їjak cesta. Pokud by existovaly dv ї r 0 1zn і cesty P 1, P 2 mezi u, v, tak bychom vzali jejich symetrick 0 5 rozd l, podgraf H = P 1 6р2P 2 s nepr zdnou mno 0 6inou hran, kde H z 0 0ejm ї m v 0 8echny stupn ї sud і. Na druhou stranu se v 0 8ak podgraf stromu mus op їt skl dat z komponent strom 0 1, a tud 0 6 obsahovat vrchol stupn ї 1 podle Lematu 4.2, spor. Proto cesta mezi u a v existuje jen jedna. 7а3 D 0 1sledek 4.5. P 0 0id n m jedn і nov і hrany do stromu vznikne pr v ї jedna kru 0 6nice. D 0 1kaz: Necht mezi vrcholy u, v ve stromu T nen hrana. P 0 0id n m hrany e = uv vznikne pr v ї jedna kru 0 6nice z e a jedin і cesty mezi u, v v T podle V їty 4.4. 7а3 V їta 4.6. Strom je minim ln souvisl 0 5 graf (na dan 0 5ch vrcholech). D 0 1kaz: Strom je souvisl 0 5 podle definice. Pokud by ale vypu 0 8t їn m hrany e = uv ze stromu T vznikl op їt souvisl 0 5 graf, pak by mezi u, v v T existovaly dv ї cesty (dohromady kru 0 6nice) C hrana e a jin cesta v T 6с1e. To je ve sporu s V їtou 4.4. Naopak, pokud by souvisl 0 5 graf m їl kru 0 6nici, z 0 1stal by souvisl 0 5 i po vypu 0 8t їn n їkter і hrany t і kru 0 6nice. Proto ka 0 6d 0 5 minim ln souvisl 0 5 graf (na dan 0 5ch vrcholech) je stromem. Tud 0 6 strom je pr v ї minim ln m souvisl 0 5m grafem na dan 0 5ch vrcholech. 7а3 Petr Hlin їn 0 5, FI MU Brno 3 FI: MA010: Stromy a les
P 0 0 klad 4.7. Kolik nejv 0 5 0 8e kru 0 6nic vznikne v grafu, kter 0 5 vytvo 0 0 me ze stromu p 0 0id n m dvou hran? Petr Hlin їn 0 5, FI MU Brno 4 FI: MA010: Stromy a les
P 0 0 klad 4.7. Kolik nejv 0 5 0 8e kru 0 6nic vznikne v grafu, kter 0 5 vytvo 0 0 me ze stromu p 0 0id n m dvou hran? P 0 0id n m jedn і hrany do stromu T vznikne jedna kru 0 6nice dle D 0 1sledku 4.5. Druh hrana vytvo 0 0 nejm іn ї je 0 8t ї jednu kru 0 6nici ze stejn 0 5ch d 0 1vod 0 1, ale m 0 1 0 6e vytvo 0 0it i dv ї dal 0 8 kru 0 6nice, jako t 0 0eba v n sleduj c m grafu, kde strom T je vyzna 0 0en pln 0 5mi 0 0arami a dv ї p 0 0idan і hrany 0 0 rkovan ї. 7б7 7б7 7б7 7б7 Ka 0 6d z p 0 0idan 0 5ch dvou hran vytvo 0 0 vlastn troj heln k a nav c je 0 8t ї vznikne kru 0 6nice d іlky 4 proch zej c ob їma z p 0 0idan 0 5ch hran. Na druhou stranu chceme uk zat, 0 6e v ce ne 0 6 3 kru 0 6nice vzniknout nemohou po p 0 0id n dvou hran e, f do stromu T : Podle D 0 1sledku 4.5 vznikne jen jedna kru 0 6nice proch zej c hranou e a neobsahuj c f, stejn ї tak jedna kru 0 6nice proch zej c f a neobsahuj c e. Nakonec sta 0 0 nahl іdnout, 0 6e je nejv 0 5 0 8e jedna mo 0 6n kru 0 6nice proch zej c ob їma hranami e, f: Pokud by takov і byly dv ї r 0 1zn і C 1, C 2, pod vali bychom se na jejich symetrick 0 5 rozd l, podgraf H = C 1 6р2C 2, kter 0 5 m v 0 8echny stupn ї sud і, nepr zdnou mno 0 6inu hran a je nav c pografem stromu T. Tak 0 6e stejn ї jako ve V їt ї 4.4 dost v me spor s faktem, 0 6e podgrafy strom 0 1 s hranami mus obsahovat vrchol stupn ї 1. 7а3 Petr Hlin їn 0 5, FI MU Brno 4 FI: MA010: Stromy a les
4.2 Ko 0 0enov і stromy P 0 0i mnoha aplikac ch stromov 0 5ch struktur se ke stromu jako grafu samotn іmu je 0 8t ї v 0 6 dodate 0 0n і informace, jako t 0 0eba vyzna 0 0en 0 5 jeden vrchol, tzv. ko 0 0en stromu, ze kter іho cel 0 5 strom vyr 0 1st. Typick 0 5m p 0 0 kladem jsou r 0 1zn і (acyklick і) datov і struktury, ve kter 0 5ch je vyzna 0 0en 0 5 vrchol C ko 0 0en, referov n jako za 0 0 tek ulo 0 6en 0 5ch dat. Petr Hlin їn 0 5, FI MU Brno 5 FI: MA010: Stromy a les
4.2 Ko 0 0enov і stromy P 0 0i mnoha aplikac ch stromov 0 5ch struktur se ke stromu jako grafu samotn іmu je 0 8t ї v 0 6 dodate 0 0n і informace, jako t 0 0eba vyzna 0 0en 0 5 jeden vrchol, tzv. ko 0 0en stromu, ze kter іho cel 0 5 strom vyr 0 1st. Typick 0 5m p 0 0 kladem jsou r 0 1zn і (acyklick і) datov і struktury, ve kter 0 5ch je vyzna 0 0en 0 5 vrchol C ko 0 0en, referov n jako za 0 0 tek ulo 0 6en 0 5ch dat. Ko 0 0enov і stromy maj tak і tradi 0 0n motivaci v rodokmenech a z toho vych z jejich b ї 0 6n terminologie. Definice 4.8. Ko 0 0enov 0 5m stromem je strom T spolu s vyzna 0 0en 0 5m ko 0 0enem r й V (T ), zkr cen ї dvojice T, r. Petr Hlin їn 0 5, FI MU Brno 5 FI: MA010: Stromy a les
4.2 Ko 0 0enov і stromy P 0 0i mnoha aplikac ch stromov 0 5ch struktur se ke stromu jako grafu samotn іmu je 0 8t ї v 0 6 dodate 0 0n і informace, jako t 0 0eba vyzna 0 0en 0 5 jeden vrchol, tzv. ko 0 0en stromu, ze kter іho cel 0 5 strom vyr 0 1st. Typick 0 5m p 0 0 kladem jsou r 0 1zn і (acyklick і) datov і struktury, ve kter 0 5ch je vyzna 0 0en 0 5 vrchol C ko 0 0en, referov n jako za 0 0 tek ulo 0 6en 0 5ch dat. Ko 0 0enov і stromy maj tak і tradi 0 0n motivaci v rodokmenech a z toho vych z jejich b ї 0 6n terminologie. Definice 4.8. Ko 0 0enov 0 5m stromem je strom T spolu s vyzna 0 0en 0 5m ko 0 0enem r й V (T ), zkr cen ї dvojice T, r. P 0 0 klad ko 0 0enov іho stromu je na n sleduj c m obr zku: r 7е6 7б7 7 9 7 9 7 9 7 9 7 9 7б7 7б7 7б7 7б7 7б7 7 9 7б7 7 9 7 9 7д9 7д9 7д9 7д9 7д9 7д9 7д9 7 9 7 9 7 9 7 9 7б7 7б7 7б7 Zaj mavost je, 0 6e v informatice stromy v їt 0 8inou rostou od ko 0 0ene sm їrem dol 0 1. (V 0 8ak tak і nejsme v biologii... ) Petr Hlin їn 0 5, FI MU Brno 5 FI: MA010: Stromy a les
Definice: M їjme ko 0 0enov 0 5 strom T, r a v n їm vrchol v. Ozna 0 0me u souseda v na cest ї sm їrem ke ko 0 0eni r. Pak je u naz 0 5v n rodi 0 0em v a v je naz 0 5v n potomkem u. Petr Hlin їn 0 5, FI MU Brno 6 FI: MA010: Stromy a les
Definice: M їjme ko 0 0enov 0 5 strom T, r a v n їm vrchol v. Ozna 0 0me u souseda v na cest ї sm їrem ke ko 0 0eni r. Pak je u naz 0 5v n rodi 0 0em v a v je naz 0 5v n potomkem u. Ko 0 0en nem 0 6 dn іho rodi 0 0e. potomci ko 0 0en 7е6 7б7 prarodi 0 0 7б7 7б7 7б7 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7б7 7б7 7б7 7б7 7б7 rodi 0 0 7б7 7б7 7б7 7д9 7б7 7д9 7д9 7д9 7д9 7д9 7д9 7д9 7 9 7б7 7б7 7б7 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7б7 7б7 7б7 7б7 0 9asto se tak і setk te v ko 0 0enov 0 5ch stromech s ozna 0 0ov n m otec Csyn m sto rodi 0 0 Cpotomek. My jsme takov і ozna 0 0en nepou 0 6ili proto, 0 6e by (hlavn ї v zem ch na z pad od n s) mohlo b 0 5t pova 0 6ov no za sexistick і. Petr Hlin їn 0 5, FI MU Brno 6 FI: MA010: Stromy a les
Definice: M їjme ko 0 0enov 0 5 strom T, r a v n їm vrchol v. Ozna 0 0me u souseda v na cest ї sm їrem ke ko 0 0eni r. Pak je u naz 0 5v n rodi 0 0em v a v je naz 0 5v n potomkem u. Ko 0 0en nem 0 6 dn іho rodi 0 0e. potomci ko 0 0en 7е6 7б7 prarodi 0 0 7б7 7б7 7б7 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7б7 7б7 7б7 7б7 7б7 rodi 0 0 7б7 7б7 7б7 7д9 7б7 7д9 7д9 7д9 7д9 7д9 7д9 7д9 7 9 7б7 7б7 7б7 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7б7 7б7 7б7 7б7 0 9asto se tak і setk te v ko 0 0enov 0 5ch stromech s ozna 0 0ov n m otec Csyn m sto rodi 0 0 Cpotomek. My jsme takov і ozna 0 0en nepou 0 6ili proto, 0 6e by (hlavn ї v zem ch na z pad od n s) mohlo b 0 5t pova 0 6ov no za sexistick і. Definice: Vrchol stupn ї 1 v libovoln іm stromu naz 0 5v me listem. Pozor, i ko 0 0en stromu m 0 1 0 6e b 0 5t listem, pokud m stupe 1, ale obvykle se to tak ne 0 0 k. List ko 0 0enov іho stromu, kter 0 5 nen ko 0 0enem, nem potomky. Petr Hlin їn 0 5, FI MU Brno 6 FI: MA010: Stromy a les
Definice: Centrem stromu T n sleduj c m postupem: rozum me bud vrchol nebo hranu nalezenou v T 6і1 Pokud m strom T jeden vrchol, je to jeho centrum. Pokud m strom T dva vrcholy, je jeho centrem hrana spojuj c tyto dva vrcholy. Petr Hlin їn 0 5, FI MU Brno 7 FI: MA010: Stromy a les
Definice: Centrem stromu T n sleduj c m postupem: rozum me bud vrchol nebo hranu nalezenou v T 6і1 Pokud m strom T jeden vrchol, je to jeho centrum. Pokud m strom T dva vrcholy, je jeho centrem hrana spojuj c tyto dva vrcholy. 6і1 Jinak vytvo 0 0 me men 0 8 strom T Д 6ш3 T vypu 0 8t їn m v 0 8ech list 0 1 T najednou. Je z 0 0ejm і, 0 6e T Д je nepr zdn 0 5, a vrac me se na p 0 0edchoz bod. Z skan і (rekurzivn ї) centrum T Д je z rove centrem T. Petr Hlin їn 0 5, FI MU Brno 7 FI: MA010: Stromy a les
7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 Definice: Centrem stromu T n sleduj c m postupem: rozum me bud vrchol nebo hranu nalezenou v T 6і1 Pokud m strom T jeden vrchol, je to jeho centrum. Pokud m strom T dva vrcholy, je jeho centrem hrana spojuj c tyto dva vrcholy. 6і1 Jinak vytvo 0 0 me men 0 8 strom T Д 6ш3 T vypu 0 8t їn m v 0 8ech list 0 1 T najednou. Je z 0 0ejm і, 0 6e T Д je nepr zdn 0 5, a vrac me se na p 0 0edchoz bod. Z skan і (rekurzivn ї) centrum T Д je z rove centrem T. P 0 0 klad 4.9. Ilustrac definice centra jsou n sleduj c dva postupy nalezen : 7Ґ5 7 0 7б7 7ё8 7 9 7д9 7б7 7д9 7д9 7д9 7б7 7б7 7б7 7 9 7б7 7Ґ5 7 0 7Ґ5 7е6 7б7 7 9 7 9 7 9 7 9 7е6 7е6 Petr Hlin їn 0 5, FI MU Brno 7 FI: MA010: Stromy a les
7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 Definice: Centrem stromu T n sleduj c m postupem: rozum me bud vrchol nebo hranu nalezenou v T 6і1 Pokud m strom T jeden vrchol, je to jeho centrum. Pokud m strom T dva vrcholy, je jeho centrem hrana spojuj c tyto dva vrcholy. 6і1 Jinak vytvo 0 0 me men 0 8 strom T Д 6ш3 T vypu 0 8t їn m v 0 8ech list 0 1 T najednou. Je z 0 0ejm і, 0 6e T Д je nepr zdn 0 5, a vrac me se na p 0 0edchoz bod. Z skan і (rekurzivn ї) centrum T Д je z rove centrem T. P 0 0 klad 4.9. Ilustrac definice centra jsou n sleduj c dva postupy nalezen : 7Ґ5 7 0 7б7 7ё8 7 9 7д9 7б7 7д9 7д9 7д9 7б7 7б7 7б7 7 9 7б7 7Ґ5 7 0 7Ґ5 7е6 7б7 7 9 7 9 7 9 7 9 7е6 7е6 7а3 Fakt. Pokud chceme dan іmu (abstraktn mu) stromu p 0 0i 0 0adit jednozna 0 0n ї ko 0 0en, je nejlep 0 8 jej p 0 0i 0 0adit centru stromu. Speci ln ї, pokud je centrem hrana, bude ko 0 0enem nov 0 5 vrchol rozd їluj c tuto hranu na dv ї. Petr Hlin їn 0 5, FI MU Brno 7 FI: MA010: Stromy a les
Definice: Ko 0 0enov 0 5 strom T, r je uspo 0 0 dan 0 5, pokud je pro ka 0 6d 0 5 jeho vrchol jednozna 0 0n ї d no po 0 0ad jeho potomk 0 1 (zleva doprava). Uspo 0 0 dan 0 5 ko 0 0enov 0 5 strom se tak і naz 0 5v p їstovan 0 5 strom. Petr Hlin їn 0 5, FI MU Brno 8 FI: MA010: Stromy a les
Definice: Ko 0 0enov 0 5 strom T, r je uspo 0 0 dan 0 5, pokud je pro ka 0 6d 0 5 jeho vrchol jednozna 0 0n ї d no po 0 0ad jeho potomk 0 1 (zleva doprava). Uspo 0 0 dan 0 5 ko 0 0enov 0 5 strom se tak і naz 0 5v p їstovan 0 5 strom. Uspo 0 0 dan 0 5 ko 0 0enov 0 5 strom si jinak tak і m 0 1 0 6eme p 0 0edstavit jako strom s vyzna 0 0en 0 5m ko 0 0enem a pevn ї zvolen 0 5m nakreslen m v rovin ї bez k 0 0 0 6en hran. Nakreslen hran potomk 0 1 vzhledem k hran ї rodi 0 0e pak ud v (ve zvolen і orientaci) po 0 0ad potomk 0 1. ko 0 0en 7е6 7б7 7б7 7б7 7б7 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7б7 7б7 7б7 7б7 7б7 rodi 0 0 7б7 7б7 7б7 7д9 7б7 7д9 7д9 7д9 7д9 7д9 7д9 7д9 7 9 7б7 7б7 7б7 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7б7 7б7 7б7 7б7 potomci: 1 2 3 4 Uspo 0 0 d n potomk 0 1 vrcholu ve stromu je p 0 0irozen ї po 0 6adov no v mnoha praktick 0 5ch situac ch. Nap 0 0 klad ve stromov 0 5ch datov 0 5ch struktur ch jsou 0 0asto potomci explicitn ї se 0 0azeni podle dan іho k 0 2 0 3 0 0e, jako t 0 0eba ve vyhled vac ch bin rn ch stromech. I v p 0 0 padech, kdy uspo 0 0 d n potomk 0 1 ve strom ї nen d no, je mo 0 6n і jej jednozna 0 0n ї definovat, jak uvid me v n sleduj c 0 0 sti. Petr Hlin їn 0 5, FI MU Brno 8 FI: MA010: Stromy a les
4.3 Isomorfismus strom 0 1 Jeliko 0 6 stromy jsou speci ln m p 0 0 padem graf 0 1, je isomorfismus strom 0 1 tot і 0 6 co isomorfismus graf 0 1. Av 0 8ak na rozd l od obecn 0 5ch graf 0 1, kdy je ur 0 0en isomorfismu t ї 0 6k 0 5 probl іm, pro isomorfismus strom 0 1 existuje efektivn postup, kter 0 5 si uk 0 6eme d le. Petr Hlin їn 0 5, FI MU Brno 9 FI: MA010: Stromy a les
1 3 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7ю2 4.3 Isomorfismus strom 0 1 Jeliko 0 6 stromy jsou speci ln m p 0 0 padem graf 0 1, je isomorfismus strom 0 1 tot і 0 6 co isomorfismus graf 0 1. Av 0 8ak na rozd l od obecn 0 5ch graf 0 1, kdy je ur 0 0en isomorfismu t ї 0 6k 0 5 probl іm, pro isomorfismus strom 0 1 existuje efektivn postup, kter 0 5 si uk 0 6eme d le. Definice: Dva ko 0 0enov і stromy T, r a T Д, r Д jsou isomorfn pokud existuje isomorfismus mezi stromy T a T Д, kter 0 5 ko 0 0en r zobrazuje na ko 0 0en r Д. r 7е6 7 9 7 9 7 9 7 9 7б7 7б7 7б7 7 9 7д9 7б7 7д9 7д9 7д9 6ж2 r Д 7е6 7г3 7г3 7г3 7г3 7б8 7б7 7б8 7б8 7б8 7 9 7б7 7 9 7д9 7б7 7д9 7д9 7д9 Petr Hlin їn 0 5, FI MU Brno 9 FI: MA010: Stromy a les
1 3 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7ю2 4.3 Isomorfismus strom 0 1 Jeliko 0 6 stromy jsou speci ln m p 0 0 padem graf 0 1, je isomorfismus strom 0 1 tot і 0 6 co isomorfismus graf 0 1. Av 0 8ak na rozd l od obecn 0 5ch graf 0 1, kdy je ur 0 0en isomorfismu t ї 0 6k 0 5 probl іm, pro isomorfismus strom 0 1 existuje efektivn postup, kter 0 5 si uk 0 6eme d le. Definice: Dva ko 0 0enov і stromy T, r a T Д, r Д jsou isomorfn pokud existuje isomorfismus mezi stromy T a T Д, kter 0 5 ko 0 0en r zobrazuje na ko 0 0en r Д. r 7е6 7 9 7 9 7 9 7 9 7б7 7б7 7б7 7 9 7д9 7б7 7д9 7д9 7д9 6ж2 r Д 7е6 7г3 7г3 7г3 7г3 7б8 7б7 7б8 7б8 7б8 7 9 7б7 7 9 7д9 7б7 7д9 7д9 7д9 Definice: Dva uspo 0 0 dan і ko 0 0enov і stromy jsou isomorfn pokud je mezi nimi isomorfismus ko 0 0enov 0 5ch strom 0 1, kter 0 5 nav c zachov v po 0 0ad potomk 0 1 v 0 8ech vrchol 0 1. r 7е6 7 9 7 9 7 9 7 9 7б7 7б7 7б7 7 9 7д9 7б7 7д9 7д9 7д9 6ж2 r Д 7е6 7 9 7 9 7 9 7 9 7б7 7 9 7 9 7 9 7 9 7б7 7Ґ3 7Ґ3 7Ґ3 7Ґ3 7Ґ3 7Ґ5 7Ґ5 7 0 7 0 Petr Hlin їn 0 5, FI MU Brno 9 FI: MA010: Stromy a les
K dov n uspo 0 0 dan 0 5ch ko 0 0enov 0 5ch strom 0 1 ( z vorkov n strom 0 1) Definice: ( ((()()())()) (()(())) ) 7б7 ( (()()()) () ) 7б7 7б7 7б7 7 9 7 9 7 9 7 9 7 9 7 9 7 9 ( () (()) ) 7б7 7б7 7б7 7б7 7б7 ( ()()() ) 7б7 7б7 7б7 (()) 7б7 7 9 7б7 7б7 7б7 7 9 7 9 7 9 7 9 7 9 7 9 7 9 () 7б7 7б7 7б7 7б7 () () () () () K d uspo 0 0 dan іho ko 0 0enov іho stromu se spo 0 0 t rekurzivn ї z k d 0 1 v 0 8ech podstrom 0 1 ko 0 0ene, se 0 0azen 0 5ch v dan іm po 0 0ad a uzav 0 0en 0 5ch do p ru z vorek. Petr Hlin їn 0 5, FI MU Brno 10 FI: MA010: Stromy a les
K dov n uspo 0 0 dan 0 5ch ko 0 0enov 0 5ch strom 0 1 ( z vorkov n strom 0 1) Definice: ( ((()()())()) (()(())) ) 7б7 ( (()()()) () ) 7б7 7б7 7б7 7 9 7 9 7 9 7 9 7 9 7 9 7 9 ( () (()) ) 7б7 7б7 7б7 7б7 7б7 ( ()()() ) 7б7 7б7 7б7 (()) 7б7 7 9 7б7 7б7 7б7 7 9 7 9 7 9 7 9 7 9 7 9 7 9 () 7б7 7б7 7б7 7б7 () () () () () K d uspo 0 0 dan іho ko 0 0enov іho stromu se spo 0 0 t rekurzivn ї z k d 0 1 v 0 8ech podstrom 0 1 ko 0 0ene, se 0 0azen 0 5ch v dan іm po 0 0ad a uzav 0 0en 0 5ch do p ru z vorek. Pozn mka: M sto znak 0 1 ( a ) lze pou 0 6 t i jin і symboly, t 0 0eba 0 a 1. Lema 4.10. Dva uspo 0 0 dan і ko 0 0enov і (p їstovan і) stromy jsou isomorfn pr v ї kdy 0 6 jejich k dy z skan і podle p 0 0edchoz ho popisu jsou shodn і 0 0et їzce. Petr Hlin їn 0 5, FI MU Brno 10 FI: MA010: Stromy a les
Fakt. Je-li d n k d s uspo 0 0 dan іho ko 0 0enov іho stromu, p 0 0 slu 0 8n 0 5 strom nakres 0 2 0 3me n sleduj c m postupem: C P 0 0i p 0 0e 0 0ten znaku ( na za 0 0 tku spust me pero na pap r, do ko 0 0ene. Petr Hlin їn 0 5, FI MU Brno 11 FI: MA010: Stromy a les
Fakt. Je-li d n k d s uspo 0 0 dan іho ko 0 0enov іho stromu, p 0 0 slu 0 8n 0 5 strom nakres 0 2 0 3me n sleduj c m postupem: C P 0 0i p 0 0e 0 0ten znaku ( na za 0 0 tku spust me pero na pap r, do ko 0 0ene. C P 0 0i ka 0 6d іm dal 0 8 m p 0 0e 0 0ten znaku ( nakres 0 2 0 3me hranu do n sleduj c ho potomka sou 0 0asn іho vrcholu. Petr Hlin їn 0 5, FI MU Brno 11 FI: MA010: Stromy a les
Fakt. Je-li d n k d s uspo 0 0 dan іho ko 0 0enov іho stromu, p 0 0 slu 0 8n 0 5 strom nakres 0 2 0 3me n sleduj c m postupem: C P 0 0i p 0 0e 0 0ten znaku ( na za 0 0 tku spust me pero na pap r, do ko 0 0ene. C P 0 0i ka 0 6d іm dal 0 8 m p 0 0e 0 0ten znaku ( nakres 0 2 0 3me hranu do n sleduj c ho potomka sou 0 0asn іho vrcholu. C P 0 0i ka 0 6d іm p 0 0e 0 0ten znaku ) se perem vr t me do rodi 0 0e sou 0 0asn іho vrcholu, p 0 0 padn ї zvedneme pero, pokud u 0 6 jsme v ko 0 0eni. Petr Hlin їn 0 5, FI MU Brno 11 FI: MA010: Stromy a les
Fakt. Je-li d n k d s uspo 0 0 dan іho ko 0 0enov іho stromu, p 0 0 slu 0 8n 0 5 strom nakres 0 2 0 3me n sleduj c m postupem: C P 0 0i p 0 0e 0 0ten znaku ( na za 0 0 tku spust me pero na pap r, do ko 0 0ene. C P 0 0i ka 0 6d іm dal 0 8 m p 0 0e 0 0ten znaku ( nakres 0 2 0 3me hranu do n sleduj c ho potomka sou 0 0asn іho vrcholu. C P 0 0i ka 0 6d іm p 0 0e 0 0ten znaku ) se perem vr t me do rodi 0 0e sou 0 0asn іho vrcholu, p 0 0 padn ї zvedneme pero, pokud u 0 6 jsme v ko 0 0eni. P 0 0 klad 4.11. Nakreslete jako p їstovan 0 5 strom ten odpov daj c z vorkov іmu k du ( (()(()()()())) (()()) ). 7е6 7ц5 7ц5 7ц5 7ц5 7ц5 7ц5 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7ц5 7б8 7б8 7б8 7б8 7 9 7б7 7б7 7б7 7б7 7Ґ5 7 9 7б8 7ц5 7ц5 7ц5 7ц5 7ц5 7ц5 7ц5 7б8 7б8 7б8 7 6 7 6 7 6 7 6 7 6 7 6 7 6 7 6 7а3 Petr Hlin їn 0 5, FI MU Brno 11 FI: MA010: Stromy a les
P 0 0i ur 0 0ov n isomorfismu obecn 0 5ch strom 0 1 pou 0 6ijeme z vorkov 0 5 k d, pro kter 0 5 ko 0 0en vo 0 2 0 3me v centru a potomky se 0 0ad me podle jejich k d 0 1 vzestupn ї abecedn ї. Algoritmus 4.12. Ur 0 0en isomorfismu dvou strom 0 1. input: stromy T a U; if ( V (T )!= V (U) ) return Nejsou isomorfn. ; (T,r) = korenove centrum(t); (U,s) = korenove centrum(u); k = minimalni kod(t,r); m = minimalni kod(u,s); if (k==m jako 0 0et їzce) return Jsou isomorfn. ; else return Nejsou isomorfn. ; Petr Hlin їn 0 5, FI MU Brno 12 FI: MA010: Stromy a les
P 0 0i ur 0 0ov n isomorfismu obecn 0 5ch strom 0 1 pou 0 6ijeme z vorkov 0 5 k d, pro kter 0 5 ko 0 0en vo 0 2 0 3me v centru a potomky se 0 0ad me podle jejich k d 0 1 vzestupn ї abecedn ї. Algoritmus 4.12. Ur 0 0en isomorfismu dvou strom 0 1. input: stromy T a U; if ( V (T )!= V (U) ) return Nejsou isomorfn. ; (T,r) = korenove centrum(t); (U,s) = korenove centrum(u); k = minimalni kod(t,r); m = minimalni kod(u,s); if (k==m jako 0 0et їzce) return Jsou isomorfn. ; else return Nejsou isomorfn. ; Funkce minimalni kod(strom X, vrchol r) { if ( V (X) ==1) return "()"; d = po 0 0et komponent grafu X-r, tj. podstrom 0 1 ko 0 0ene r; for (i = 1,...,d) { Y[i] = i-t souvisl komponenta grafu X-r; s[i] = i-t 0 5 soused r, tj. ko 0 0en podstromu Y[i]; k[i] = minimalni kod(y[i],s[i]); } sort k[1]<=k[2]<=...<=k[d] lexikograficky (abecedn ї); return "("+k[1]+...+k[d]+")"; } Petr Hlin їn 0 5, FI MU Brno 12 FI: MA010: Stromy a les
D 0 1kaz spr vnosti Algoritmu 4.12 je pod n v n sleduj c m tvrzen. V їta 4.13. M їjme dva stromy T, U o stejn іm po 0 0tu vrchol 0 1 a necht (T Д, r) a (U Д, s) jsou po 0 0ad ї jejich ko 0 0enov і stromy z skan і v prvn 0 0 sti Algoritmu 4.12 (kde r, s jsou centra T, U). Pak plat : a) T a U jsou isomorfn, pr v ї kdy 0 6 (T Д, r) je isomorfn (U Д, s). b) (T Д, r) je isomorfn (U Д, s), pr v ї kdy 0 6 minimalni kod(t Д, r) = minimalni kod(u Д, s). D 0 1kaz (n znak): Tvrzen (a) ihned plyne z jednozna 0 0nosti definice centra stromu. Za druh і (b) dokazujeme indukc podle hloubky na 0 8ich ko 0 0enov 0 5ch strom 0 1 T Д, r a U Д, s. (Z 0 0ejm ї pokud maj r 0 1zn і hloubky, isomorfn nejsou.) Dva ko 0 0enov і stromy hloubky 0 jsou v 0 6dy isomorfn a maj shodn 0 5 k d (). D le vezmeme T Д, r a U Д, s hloubky l > 0. Pokud jejich k dy vyjdou shodn і, jsou isomorfn. Naopak pro isomorfn T Д, r a U Д, s existuje bijekce mezi vz jemn ї isomorfn mi podstromy jejich ko 0 0en 0 1, tud 0 6 podle induk 0 0n ho p 0 0edpokladu k dy t їchto podstrom 0 1 jsou po dvojic ch shodn і. Jeliko 0 6 se v obou p 0 0 padech set 0 0 d k dy podstrom 0 1 stejn ї, vyjde minimalni kod(t Д, r) = minimalni kod(u Д, s). 7а3 Petr Hlin їn 0 5, FI MU Brno 13 FI: MA010: Stromy a les
4.4 Kostry graf 0 1 Definice 4.14. Kostrou souvisl іho grafu G je podgraf v G, kter 0 5 je s m stromem a obsahuje v 0 8echny vrcholy grafu G. Petr Hlin їn 0 5, FI MU Brno 14 FI: MA010: Stromy a les
4.4 Kostry graf 0 1 Definice 4.14. Kostrou souvisl іho grafu G je podgraf v G, kter 0 5 je s m stromem a obsahuje v 0 8echny vrcholy grafu G. P 0 0 klad 4.15. Kolik r 0 1zn 0 5ch koster m tento graf? 7 0 7б9 7 0 7ц7 7б9 7б9 7б9 7 0 7ц7 7ц7 7ц7 7 0 7 0 7 0 7 0 7 0 7 0 7б9 7 0 7ц7 Pod vejme se na kostru grafu takto C jak і hrany z grafu vyma 0 6eme, aby zbyl strom? Zajist і mus me vymazat n їkterou hranu z prvn kru 0 6nice (5 mo 0 6nost ) a n їkterou hranu z druh і kru 0 6nice (6 mo 0 6nost ). Na druhou stranu to v tomto jednoduch іm p 0 0 klad ї u 0 6 sta 0 0, v 0 6dy pak zbude strom. V 0 5b їr vymazan і hrany z prvn kru 0 6nice je nez visl 0 5 na druh і kru 0 6nici (jsou disjunktn ), a proto dle principu nez visl 0 5ch v 0 5b їr 0 1 m me 5 є6 = 30 mo 0 6nost vybrat dv ї hrany k vymaz n. Celkem tedy vyjde 30 koster. 7а3 Petr Hlin їn 0 5, FI MU Brno 14 FI: MA010: Stromy a les
N sleduj c v 0 5sledek pat 0 0 ke kr sn 0 5m drahokam 0 1m teorie graf 0 1. V їta 4.16. (Cayley) 0 3pln 0 5 graf K n pro n > 0 m p 0 0esn ї n n 6с12 koster. Petr Hlin їn 0 5, FI MU Brno 15 FI: MA010: Stromy a les
N sleduj c v 0 5sledek pat 0 0 ke kr sn 0 5m drahokam 0 1m teorie graf 0 1. V їta 4.16. (Cayley) 0 3pln 0 5 graf K n pro n > 0 m p 0 0esn ї n n 6с12 koster. Definice. Laplaceova matice Q = (q ij ) n i,j=1 grafu G o n vrcholech je definov na: C q ii = d G (i) (stupe vrcholu), C q ij = 0 pro vrcholy i ы j nespojen і hranou, C q ij = 6с11 pro vrcholy i ы j spojen і hranou. Petr Hlin їn 0 5, FI MU Brno 15 FI: MA010: Stromy a les
N sleduj c v 0 5sledek pat 0 0 ke kr sn 0 5m drahokam 0 1m teorie graf 0 1. V їta 4.16. (Cayley) 0 3pln 0 5 graf K n pro n > 0 m p 0 0esn ї n n 6с12 koster. Definice. Laplaceova matice Q = (q ij ) n i,j=1 grafu G o n vrcholech je definov na: C q ii = d G (i) (stupe vrcholu), C q ij = 0 pro vrcholy i ы j nespojen і hranou, C q ij = 6с11 pro vrcholy i ы j spojen і hranou. V їta 4.17. Necht Q je Laplaceova matice grafu G a matice Q Д vznikne vy 0 8krtnut m jej ho prvn ho 0 0 dku a sloupce. Pak po 0 0et koster grafu G je roven determinantu Q Д. D 0 1kaz t іto p 0 0ekvapiv і v їty je mimo dosah na 0 8i p 0 0edn 0 8ky (vyu 0 6 v siln і n stroje line rn algebry). Uv їdomte si, pro 0 0 samotn matice Q je singul rn (determinantu 0) C nebot sou 0 0et prvk 0 1 v ka 0 6d іm 0 0 dku je 0. Je tak і mo 0 6no vy 0 8krt vat jin і 0 0 dky a sloupce, ale m 0 1 0 6e se t m zm їnit znam іnko determinantu. Petr Hlin їn 0 5, FI MU Brno 15 FI: MA010: Stromy a les