Wstęp do teorii grafów. Drzewa. Izolda Gorgol wyciąg z prezentacji (wykład III, 17.05.2007 r.) Podstawowe klasy grafów Kn - graf pełny o n wierzchołkach - każda para wierzchołków tworzy krawędź On - graf pusty o n wierzchołkach - E(On ) = ∅ Pn - ścieżka o n wierzchołkach - V (Pn ) = {v1 , v2 , . . . , vn }, E(Pn ) = {vi vi+1 : i = 1, 2, . . . , n − 1} Cn - cykl o n wierzchołkach - V (Cn ) = {v1 , v2 , . . . , vn }, E(Cn ) = {vi vi+1 : i = 1, 2, . . . , n − 1} ∪ {v1 vn } Podstawowe klasy grafów - cd. G - graf dwudzielny – graf, którego wierzchołki można podzielić na dwa niepuste podzbiory X i Y tak, że G[X] i G[Y ] są grafami pustymi Kn,m - pełny graf dwudzielny – |X| = n, |Y | = m, każdy wierzchołek z X jest połączony ze wszystkimi wierzchołkami zY graf k-regularny – z każdego wierzchołka wychodzi dokładnie k krawędzi G - dopełnienie grafu G – V (G) = V (G); uv ∈ E(G) ⇐⇒ uv 6∈ E(G) Izomorfizm grafów Izomorfizm pomiędzy grafami G i H – bijekcja f : V (G) −→ V (H) taka, że uv ∈ E(G) ⇐⇒ f (u)f (v) ∈ E(H). Jeżeli istnieje izomorfizm pomiędzy grafami G i H, to grafy te nazywamy izomorficznymi. Jeżeli grafy G i H są izomorficzne, to |V (G)| = |V (H)| i |E(G)| = |E(H)|. Izomorfizm zachowuje też ciąg stopni wierzchołków i ogólnie strukturę grafu. Spójność G graf spójny – każde dwa wierzchołki są połączone ścieżką składowa grafu – maksymalny w sensie zawierania podgraf spójny danego grafu odległość między wierzchołkami u i v – długość najkrótszej ścieżki o końcach u i v; jeśli taka ścieżka nie istnieje przyjmujemy, że odległość wynosi ∞ TW. Niech G będzie grafem o n wierzchołkach i k składowych spójności. Wówczas n − k 6 |E(G)| 6 (n−k)(n−k+1) . 2 WN. Każdy graf o n wierzchołkach i więcej niż (n−1)(n−2) 2 krawędziach jest spójny. Drzewa Drzewo – graf spójny bez cykli Las – graf, w którym każda składowa spójności jest drzewem Liść – wierzchołek o stopniu 1 Niektóre własności drzew TW. W drzewie istnieje dokładnie jedna ścieżka łącząca dwa dowolne wierzchołki. TW. Każde drzewo, które ma co najmniej dwa wierzchołki, ma co najmniej dwa liście. TW. Drzewo o n wierzchołkach ma dokładnie n − 1 krawędzi. Własności drzew - cd. 1 1. 2. 3. 4. 5. 6. TWIERDZENIE Następujące warunki są równoważne dla grafu T T jest drzewem; T nie zawiera cykli i ma n − 1 krawędzi; T jest spójny i ma n − 1 krawędzi; T jest minimalnie spójny, tzn. usunięcie dowolnej krawędzi rozspaja graf; każde dwa wierzchołki T są połączone dokładnie jedną ścieżką; T jest maksymalnie acykliczny, tzn. dodanie dowolnej krawędzi powoduje powstanie cyklu. Liczba drzew oznaczonych TWIERDZENIE (Cayley) Jest nn−2 drzew na zbiorze wierzchołków {1, 2, . . . , n}. Drzewa ukorzenione Korzeń - jeden wyróżniony wierzchołek w drzewie Jeżeli wierzchołki dwa leżą na jednej ścieżce o początku w korzeniu drzewa, to wierzchołek leżący bliżej korzenia nazywamy przodkiem, a wierzchołek leżący dalej nazywamy potomkiem. Jeżeli odległość między tymi wierzchołkami wynosi 1, to jest to odpowiednio rodzic i dziecko. Drzewo m-arne - każdy rodzic ma co najwyżej m dzieci Drzewo binarne - drzewo 2-arne Regularne drzewo m-arne - każdy rodzic ma dokładnie m dzieci Numer poziomu wierzchołka u - długość ścieżki od korzenia do wierzchołka u Wysokość drzewa - największy numer poziomu wierzchołka Pełne drzewo m-arne - regularne drzewo m-arne, w którym każdy liść ma ten sam poziom Parametry dla drzew ukorzenionych n - liczba wierzchołków drzewa m-arnego minimalna liczba liści – 1 (ścieżka) maksymalna liczba liści – b m(n−1)+1 c (pełne drzewo m-arne) m maksymalna wysokość drzewa – n − 1 (ścieżka) minimalna wysokość drzewa – dlogm (n(m − 1) + 1) − 1e (pełne drzewo m-arne) Drzewa poszukiwań Dany jest zbiór (X, ρ) uporządkowany liniowo. Drzewo poszukiwań - drzewo binarne, w którym wierzchołkami są elementy zbioru X, zaś krawędzie w drzewie występują w taki sposób, że na lewo od każdego wierzchołka są zawsze elementy wcześniejsze od niego względem porządku ρ, zaś na prawo późniejsze. Szukamy drzewa o minimalnej wysokości |X| = n h = dlog2 (n + 1) − 1e 2