Algorytmy grafowe (AGR 320)

Wielkość: px
Rozpocząć pokaz od strony:

Download "Algorytmy grafowe (AGR 320)"

Transkrypt

1 Algorytmy grafowe (AGR 320) semestr letni 2004/2005 Michał Karoński Wydział Matematyki i Informatyki UAM Algorytmy grafowe (AGR 320) p. 1/9

2 1. Rodzaje grafów grafy proste multigrafy grafy skierowane (digrafy) grafy ważone hipergrafy Algorytmy grafowe (AGR 320) p. 2/9

3 2. Reprezentacje grafów 2.1 Macierz przyległości (sasiedztwa) Definicja (Macierz przyległości). Dany jest graf G = (V, E), przy czym V = {v 1,v 2,...,v n } jest zbiorem wierzchołków, to n n macierz A(G) = (a ij ), gdzie a ij jest liczba krawędzi łacz acych wierzchołki v i oraz v j nazywa się macierza przyległości grafu G. W przypadku grafu skierowanego a ij jest liczba łuków z wierzchołka v i do v j. Algorytmy grafowe (AGR 320) p. 3/9

4 v 3 v 1 v 2 Rysunek 1: Przykład grafu prostego G = (V,E), gdzie V = {v 1,v 2,v 3,v 4,v 5 },E = {e 1,e 2,e 3,e 4,e 5,e 6,e 7 }, e 1 = v 1 v 2,e 2 = v 2 v 3,e 3 = v 2 v 5,e 4 = v 3 v 4,e 5 = v 2 v 4,e 6 = v 4 v 6,e 7 = v 1 v 4. v 5 v 4 Algorytmy grafowe (AGR 320) p. 4/9

5 Przykład. Macierz przyległości dla grafu przedstawionego na Rysunku 1. A(G) = v 1 v 2 v 3 v 4 v 5 v v v v v = Algorytmy grafowe (AGR 320) p. 5/9

6 macierz przyległości (sasiedztwa) A(G) jest macierza binarna (dla grafu prostego) macierz przyległości wymaga V 2 = n 2 bitów pamięci jeżeli w jest długościa słowa maszynowego, to każdy wiersz macierzy przyległości można zapisać jako ciag n bitów w n/w słowach maszynowych ( x oznacza najmniejsza liczbę całkowita nie mniejsza niż x) graf prosty: A(G) jest symetryczna - n(n 1)/2 bitów graf skierowany: n n/w reprezentacja macierzowa jest korzystniejsza dla grafów gęstych Algorytmy grafowe (AGR 320) p. 6/9

7 2.2 Macierz incydencji Definicja (Macierz incydencji). Dany jest graf G = (V, E), przy czym V = {v 1,v 2,...,v n } jest zbiorem wierzchołków natomiast E = {e 1,e 2,...,e m } zbiorem krawędzie grafu, to macierz M(G) = (m ij )1, 1 i n, 1 j m, gdzie liczba m ij {0, 1, 2} oznacza ile razy v i oraz e j s a incydentne ( 2 występuje w przypadku pętli), jest macierza incydencji grafu G. Algorytmy grafowe (AGR 320) p. 7/9

8 e 7 v 3 e 4 e 6 e 5 e 2 e 3 v 1 e 1 v 2 v 5 v 4 Algorytmy grafowe (AGR 320) p. 8/9

9 Przykład. Macierz incydencji dla grafu przedstawionego na Rysunku 1. G = (V,E): V = 5, E = 7, V = {v 1, v 2, v 3, v 4, v 5 }, E = {e 1, e 2, e 3, e 4, e 5, e 6, e 7 }, e 1 = v 1 v 2, e 2 = v 2 v 3, e 3 = v 2 v 5, e 4 = v 3 v 4, e 5 = v 2 v 4, e 6 = v 4 v 5, e 7 = v 1 v 4. M(G) = e 1 e 2 e 3 e 4 e 5 e 6 e 7 v v v v v Algorytmy grafowe (AGR 320) p. 9/9

10 Macierz incydencji wymaga V E bitów pamięci, co może być liczba większa niż V 2 bitów zajmowanych przez macierz przyległości, ponieważ liczba krawędzi E jest często większa niż liczba wierzchołków V. W niektórych jednak przypadkach może być korzystniejsze użycie macierzy incydencji, niż macierzy przyległości pomimo zwiększonej zajętości pamięci. Macierze incydencji sa szczególnie dogodne przy rozpatrywaniu obwodów elektrycznych i układów przełaczaj acych. Algorytmy grafowe (AGR 320) p. 10/9

11 2.3 Lista krawędzi Innym, często stosowanym sposobem reprezentacji grafu jest wypisanie wszystkich jego krawędzi jako par wierzchołków. Tak na przykład, graf z Rysunku 1 byłby przedstawiony jako lista następujacych nieuporzadkowanych par: (v 1,v 2 ), {v 1,v 4 }, {v 2,v 3 }, {v 2,v 4 }, {v 2,v 5 }, {v 3,v 4 }, {v 4,v 5 }. Dla grafu skierowanego, były by to uporzadkowane pary wierzchołków odpowiadajace łukom. Algorytmy grafowe (AGR 320) p. 11/9

12 liczba bitów potrzebna do zaetykietowania (etykietami od 1 do n) wierzchołków grafu G jest równa b, gdzie 2 b 1 < n 2 b, czyli b = log 2 n + 1 całkowita zajętość pamięci jest równa 2 E b bitów ten sposób reprezentacji jest bardziej ekonomiczny niż macierz przyległości, jeżeli 2 E b < V 2 reprezentacja listowa" jest korzystniejsza dla grafów rzadkich przechowywanie i przekształcanie grafu w komputerze jest trudniejsze (na przykład przy badaniu spójności grafu) Algorytmy grafowe (AGR 320) p. 12/9

13 2.4 Dwie tablice liniowe modyfikacja listy krawędzi - przedstawienie grafu za pomoca dwóch tablic liniowych: F = (f 1,f 2,...,f e ), H = (h 1,h 2,...,h e ). elementy tablic: etykiety wierzchołków, e = E G graf skierowany: i-ty łuk, e i, prowadzi od wierzchołka f i, do wierzchołka h i G graf nieskierowany: krawędź e i łaczy f i i h i. dogodna reprezentacja do sortowania w grafach ważonych Algorytmy grafowe (AGR 320) p. 13/9

14 Przykład. Dwie tablice liniowe dla grafu przedstawionego na Rysunku 1. e 7 v 3 e 4 e 6 e 5 e 2 e 3 v 1 e 1 v 2 v 5 v 4 F = (v 1,v 2,v 2,v 3,v 2,v 4,v 1 ), H = (v 2,v 3,v 5,v 4,v 4,v 5,v 4 ). Algorytmy grafowe (AGR 320) p. 14/9

15 2.5 Lista wierzchołków sasiednich (następników) efektywna metoda reprezentacji grafów stosowana w przypadku gdy stosunek E / V nie jest duży dla każdego wierzchołka v tworzymy listę (tablicę), której pierwszym elementem jest v; a pozostałymi elementami sa: wierzchołki będace sasiadami wierzchołka v (w przypadku grafu nieskierowanego) bezpośredni następnicy wierzchołka v, tzn. wierzchołki, do których istnieje łuk z wierzchołka v (w przypadku grafu skierowanego) Algorytmy grafowe (AGR 320) p. 15/9

16 v 3 v 1 v 2 v 5 v 4 v 1 : v 2, v 4 v 2 : v 1, v 3, v 4, v 5 v 3 : v 2, v 4 v 4 : v 1, v 2, v 3, v 5 v 5 : v 2, v 4 Algorytmy grafowe (AGR 320) p. 16/9

17 Algorytmy grafowe (AGR 320) p. 17/9

18 Algorytmy grafowe (AGR 320) p. 18/9

19 3. Przeszukiwanie grafów Znajdujac się w pewnym wierzchołku v przeszukujemy wszystkie krawędzie incydentne do v, a następnie poruszamy się do pewnego wierzchołka przyległego w. W wierzchołku w przeszukujemy wszystkie krawędzie incydentne do w. Ten proces prowadzi się dotad, aż przeszuka się wszystkie wierzchołki w grafie. Metodę tę nazywa się przeszukiwaniem wszerz (ang. breadth-first search, często oznaczane skrótowo BFS). Algorytmy grafowe (AGR 320) p. 19/9

20 zamiast przeszukiwać każda krawędź incydentna do wierzchołka v, poruszamy się do pewnego wierzchołka przyległego w (wierzchołka, w którym dotychczas jeszcze nie byliśmy), gdy tylko to jest możliwe, pozostawiajac na razie wierzchołek v z być może niezbadanymi krawędziami. Inaczej mówiac, podażamy przez graf ścieżka przechodzac do nowego wierzchołka, gdy tylko to jest możliwe. Taka metoda przeszukiwania grafu, zwana przeszukiwaniem w głab (ang. depth-first search, w skrócie DFS) lub metoda powrotu po tej samej ścieżce na grafie. upraszcza wiele algorytmów teorii grafów, ze względu na otrzymywane ponumerowanie wierzchołków i skierowanie krawędzi. Algorytmy grafowe (AGR 320) p. 20/9

21 3.1 Przeszukiwanie grafu wszerz (BFS) G = (V, E) - graf nieskierowanym reprezentowanym w postaci listy wierzchołków sasiednich. x - ustalony wierzchołek z którego należy rozpoczać przeszukiwanie grafu I v - tablica zawierajaca wierzchołki incydentne z v NI v liczba elementów w I v Algorytmy grafowe (AGR 320) p. 21/9

22 1. Ustaw: Numer[x] 1, Drzewo, Pozostale ; dopisz x do Kolejki. 2. Jeżeli Kolejka jest pusta to STOP. 3. Pobierz element z Kolejki i zapisz go jako v. 4. Dla każdego wierzchołka w incydentnego do v wykonaj: (a) Jeżeli Numer[w] = 0, tzn. wierzchołek w odwiedzamy po raz pierwszy, to nadaj wierzchołkowi w kolejny numer, dopisz w do Kolejki, a krawędź vw dodaj do Drzewo. (b) Jeżeli Numer[w] 0, tzn. wierzchołek w już był odwiedzany, natomiast krawędź vw / Drzewo to dodaj ja do zbioru Pozostale. 5. Wróć do kroku 2. Algorytmy grafowe (AGR 320) p. 22/9

23 (G, x) Numer[x] Ponumerowano 1 NKolejka 1; Kolejka[NKolejka] x NKolejka > 0 v Kolejka[1] NKolejka NKolejka 1 i 1 NKolejka Kolejka[i] Kolejka[i + 1] i 1 NIv w Iv[i] Numer[w] = 0 Ponumerowano Ponumerowano + 1 N umer[w] P onumerowano Drzewo Drzewo {vw} NKolejka NKolejka + 1 Kolejka[N Kolejka] w!numer, Drzewo, {vw} Algorytmy grafowe (AGR 320) p. 23/9

24 ' () & % "#$ G, x / -. +, +, * 3 N umer, Drzewo, Numer[x] Ponumerowano 1 NKolejka 1; Kolejka[NKolejka] x NKolejka > 0 v Kolejka[1] NKolejka NKolejka 1 i 1 NKolejka Kolejka[i] Kolejka[i + 1] i 1 NI v w I v [i] Numer[w] = 0 Ponumerowano Ponumerowano + 1 N umer[w] P onumerowano Drzewo Drzewo {vw} NKolejka NKolejka + 1 Kolejka[N Kolejka] w {vw} (N umer, Drzewo, ) # 4 5 # % $ )'#B A D % ( N&L &B G %& G %& D % D % ' G ( % ( % L )B ( #M B B <= :; <= :; <= :; <= :; 3 2 > 3 2? C 3 2 E 3 2 F 3 2 H 3 2 I 3 2 J 3 2 >K 3 2 >> 3 2 >? 3 2 >@ 3 2 >C 3 2 >E >F 2 >H 3 2 >I Algorytmy grafowe (AGR 320) p. 24/9

25 Przykład. Przeszukiwanie grafu wszerz OP QRS T UVW G,x ]^ \ [ XZ XY _ q v wx tu r s tz y s N umer, Drzewo, Numer[x] Ponumerow 1 NKolejka 1; Kolejka[NKolejka] x P PQ Rà VTP knkolejka > 0 j h fg i b cdce v Kolejka[1] NKolejka NKolejka 1 m RSi 1 U RNKolejka a = 1 Sk l R l RKolejka[i] Kolejka[i + 1] m RSi 1 w I v [i] Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NKolejka NKolejka + 1 Kolejka[N Kolejka] w l R U RNIv T m V U kn f okbcdce g Pk U psn(numer,drzewo, h i h fg b cdce i) b cdce fg h i {vw} b c d e f g Numer[a] 1 Ponumerow 1 Kolejka a NKolejka 1 Algorytmy grafowe (AGR 320) p. 25/9

26 { }~ ƒ G,x Š ˆ ž Ÿ «ª a N umer, Drzewo, Numer[x] Ponumerow 1 NKolejka 1; Kolejka[NKolejka] x Œ } ~ NKolejka > 0 ~ Ž v Kolejka[1] NKolejka NKolejka 1 ~i 1 ~NKolejka ~Kolejka[i] Kolejka[i + 1] ~i 1 w I v [i] Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NKolejka NKolejka + 1 Kolejka[N Kolejka] w ~ ~NIv š Ž Ž {vw} a = 1 b = 2 c = 3 d e f g v a Kolejka NKolejka 0 œš(numer,drzewo, ) Ž w b Ponumerow 2 Numer[b] 2 Drzewo {ab} Kolejka b NKolejka 1 w c Ponumerow 3 Numer[c] 3 Drzewo {ab,ac} Kolejka b,c NKolejka 2 Algorytmy grafowe (AGR 320) p. 26/9

27 G,x º» ¹ µ µ ²³ ± ¼ Î Ü Û Ù Ú Ø ÓÖ Ô Õ Ñ ÓÔ Ò Ï ÐÑ Ñb N umer, Drzewo, Numer[x] Ponumerow 1 NKolejka 1; Kolejka[NKolejka] x ½ ¾ ³± ÈNKolejka > 0 Ç È É É ± Ê ³ ² ÈË Å ÃÄ Æ ÀÁÀ v Kolejka[1] NKolejka NKolejka 1 Ê i 1 ² NKolejka É Kolejka[i] Kolejka[i + 1] Ê i 1 ² NIv w I v [i] Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NKolejka NKolejka + 1 Kolejka[N Kolejka] w à ÌÈ ÀÁÀÂ Ä È ² Í Ë(Numer,Drzewo, Å Æ Å ÃÄ ÀÁÀ Æ) ÀÁÀ ÃÄ Å Æ {vw} a = 1 b = 2 c = 3 d = 4 e = 5 f g v b Kolejka c NKolejka 1 w a w c w d Ponumerow 4 Numer[d] 4 Drzewo {ab,ac, Kolejka c,d NKolejka 2 w e Ponumerow 5 Numer[e] 5 Drzewo {ab,ac,bd Kolejka c,d,e NKolejka 3 w f Ponumerow 6 Numer[f] 6 Drzewo {ab,ac,bd, Kolejka c,d,e,f NKolejka 4 Algorytmy grafowe (AGR 320) p. 27/9

28 ÝÞ ßàá â ãäå G,x ëì ê é æè æç í ÿ c N umer, Drzewo, Numer[x] Ponumerow 1 NKolejka 1; Kolejka[NKolejka] x ß ø Þ î Þ à ï äâþ ùnkolejka > 0 ö ôõ ð ñòñó v Kolejka[1] NKolejka NKolejka 1 ànkolejka àkolejka[i] Kolejka[i + 1] ã ú û àái 1 a = 1 b = 2 c = 3 áù ú à û àái 1 w I v [i] Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NKolejka NKolejka + 1 Kolejka[N Kolejka] w ú à ã àniv â û ä ã ùü ô ýùðñòñó õ Þù ã þáü(numer,drzewo, ö ö ôõ ð ñòñó ) ð ñòñó ôõ ö {vw} d = 4 e = 5 f = 6 g = 7 v c Kolejka d,e,f NKolejka 3 w a w b w f w g Ponumerow 7 Numer[g] 7 Drzewo {ab,ac,bd,be,bf,cg} Kolejka d,e,f,g NKolejka 4 Algorytmy grafowe (AGR 320) p. 28/9

29 G,x 0 > = ; < : d N umer, Drzewo, Numer[x] Ponumerow 1 NKolejka 1; Kolejka[NKolejka] x ) *NKolejka > 0! "#"$ ' ( %& v Kolejka[1] NKolejka NKolejka 1 NKolejka Kolejka[i] Kolejka[i + 1] +, i 1 a = 1 b = 2 c = 3 * +, i 1 w I v [i] Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NKolejka NKolejka + 1 Kolejka[N Kolejka] w + NIv, *- %.*!"#"$ & * /-(Numer,Drzewo,! "#"$ ' ' %& ( ()! "#"$ ' %& ( {vw} d = 4 e = 5 f = 6 g = 7 v d Kolejka e,f,g NKolejka 3 w b w e Algorytmy grafowe (AGR 320) p. 29/9

30 ABC D EFG G,x MN L K H J HI O a o n l m k jg fi h d fg e b cd de N umer, Drzewo, Numer[x] Ponumerow 1 NKolejka 1; Kolejka[NKolejka] P A B FD@ [NKolejka > 0 Z R STSU X Y VW v Kolejka[1] NKolejka NKolejka 1 BNKolejka BKolejka[i] Kolejka[i + 1] E \ ] BCi 1 a = 1 b = 2 c = 3 w I v [i] Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NKolejka NKolejka + 1 Kolejka[N Kolejka] w E`C^(Numer,Drzewo, C [ \ B ] BCi 1 \ B E BNIv D ] F [^ E [ V _[RSTSU R STSU X X VW Y Y) R STSU X VW Y {vw} d = 4 e = 5 f = 6 g = 7 v e Kolejka f,g NKolejka 2 w b w d w f Algorytmy grafowe (AGR 320) p. 30/9

31 pq rst u vwx G,x ~ } y { yz Ÿ ž œ š f N umer, Drzewo, Numer[x] Ponumerow 1 NKolejka 1; Kolejka[NKolejka] x q qr s wuq ŒNKolejka > 0 ƒ ˆ Š v Kolejka[1] NKolejka NKolejka 1 snkolejka skolejka[i] Kolejka[i + 1] v Ž sti 1 a = 1 b = 2 c = 3 t Œ s Ž sti 1 w I v [i] Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NKolejka NKolejka + 1 Kolejka[N Kolejka] w s v sniv u Ž w Œ v ˆ Œƒ qœ v t (Numer,Drzewo, Š ƒ ˆ Š) ƒ ˆ Š {vw} d = 4 e = 5 f = 6 g = 7 v f Kolejka g NKolejka 1 w b w c w g Algorytmy grafowe (AGR 320) p. 31/9

32 G,x ª ª«± Ã Ñ Ð Î Ï Í ÌÉ ÈË Ê Æ ÈÉ Ç Ä ÅÆ Æg N umer, Drzewo, Numer[x] Ponumerow 1 NKolejka 1; Kolejka[NKolejka] x ² ³ ½NKolejka > 0 ¼ º µ µ ¹» v Kolejka[1] NKolejka NKolejka 1 NKolejka Kolejka[i] Kolejka[i + 1] ¾ i 1 a = 1 b = 2 c = 3 ½ ¾ i 1 w I v [i] Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NKolejka NKolejka + 1 Kolejka[N Kolejka] w ¾ NIv ½À ¹ Á½ µ µ ½  À(Numer,Drzewo, º» º µ µ ¹») º µ µ ¹» {vw} d = 4 e = 5 f = 6 g = 7 v g Kolejka NKolejka 0 w c w f Algorytmy grafowe (AGR 320) p. 32/9

33 3.2 Przeszukiwanie grafu w głab (DFS) G = (V, E) - graf nieskierowanym reprezentowanym w postaci listy wierzchołków sasiednich. x - ustalony wierzchołek z którego należy rozpoczać przeszukiwanie grafu I v - tablica zawierajaca wierzchołki incydentne z v, NI v liczba elementów w I v Stos - tablica przechowujaca ciag wierzchołków umożliwiajaca powrót", N Stos - liczba wierzchołków w Stos Algorytmy grafowe (AGR 320) p. 33/9

34 1. Ustaw v x, i 0, Drzewo, Pozostale. 2. Ustaw i i + 1, Numer(v) i. 3. Poszukaj nieprzebytej krawędzi incydentnej do wierzchołka v. Jeżeli nie ma takiej krawędzi (tzn. po każdej krawędzi incydentnej do v już przeszliśmy), to przejdź do kroku 5. Wybierz pierwsza nieprzebyta krawędź incydentna do wierzchołka v, powiedzmy vw i przejdź ja. Algorytmy grafowe (AGR 320) p. 34/9

35 4. Jesteśmy teraz w wierzchołku w. Jeżeli w jest wierzchołkiem, w którym jeszcze nie byliśmy podczas tego szukania (tzn. N umer(w) jest nieokreślony), to dodaj krawędź vw do zbioru Drzewo. Ustaw v w i przejdź do kroku 2. Jeżeli w jest wierzchołkiem, w którym już wcześniej byliśmy (tzn. Numer(w) < Numer(v)), to dodaj krawędź vw do zbioru P ozostale. Przejdź do kroku 3. Jesteśmy więc z powrotem w wierzchołku v. Algorytmy grafowe (AGR 320) p. 35/9

36 5. Sprawdź, czy istnieje jakaś przebyta krawędź uv w zbiorze Drzewo z Numer(u) < Numer(v). Jeżeli jest taka krawędź, to wróć do wierzchołka u. (Zauważmy, że u jest wierzchołkiem, z którego osiagnięto v po raz pierwszy). Ustaw v u i przejdź do kroku 3. Jeżeli nie ma takiej krawędzi, to zatrzymaj algorytm (jesteśmy z powrotem w korzeniu x po przejściu każdej krawędzi i odwiedzeniu każdego wierzchołka połaczonego z x). Algorytmy grafowe (AGR 320) p. 36/9

37 Ô Ó Ò Õ Ö Ý (G, x) Numer[x] Ponumerow 1 NStos 1 Stos[NStos] x NStos > 0 Ú Ù ÛÜ Ø Þ ßv STos[NStos] à â å ç è ê Õ NI v = 0 änstos NStos 1 w I v [1] NI v NI v 1 i 1 Ú á ÙÜ ã Ûæ Ü Ü á ßé ã ßNIv Õ Ö Õ Ú á Þ ßIv [i] Iv[i 1] Numer[w] = 0 äponumerow Ponumerow + 1 ÙÜ ã Õ Ý Õ à Õ â Õ å Õ Ûæ Ü Ü Numer[w] Ponumerow Drzewo Drzewo {vw} NStos Nstos + 1 Stos[NStos] w {vw} ë ìíì ñò ïð î ë ìíì ñò ïð î ñò ïð î ë ìíì ýù ü ú øû ø ù ö ô õ ã óé ä éü ç Õ Algorytmy grafowe (AGR 320) p. 37/9

38 þ ÿ G, x N umer, Drzewo, Numer[x] Ponumerow 1 NStos 1; Stos[NStos] x NStos > 0 v STos[NStos] NI v = 0 $NStos NStos 1 w I v [1] NI v NI v 1 i 1 NI v I v [i] I v [i 1] Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NStos Nstos + 1 Stos[NStos] w {vw} ) ÿ ÿ ÿ " ÿ& " " $ ÿ& * $(Numer, Drzewo,! # % ' ( )! # % ' ( Algorytmy grafowe (AGR 320) p. 38/9

39 Przykład. Przeszukiwanie grafu w głab , -./ G,x 7 89: 46 ; M R STU PQ N O PV O N umer, Drzewo, Numer[x] Ponumerow 1 NStos 1; Stos[NStos] x - F, <,. = 20, GNStos > 0 Ḣ /G v STos[NStos] NI v = 0 0 I 1 D B C E >?@?A 2 GJNStos NStos 1, G KG w I v [1] NI v NI v 1 I./i 1 Ḣ 0 I 2 1 GJ 1 L/J(Numer,Drzewo, 1.NIv I v [i] I v [i 1] Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NStos Nstos + 1 Stos[NStos] w B KG>?@?A C, G D E D B C >?@?A E) B C >?@?A D E {vw} a = 1 b c d e f g Numer[a] 1 Ponumerow 1 Stos [a] NStos 1 Algorytmy grafowe (AGR 320) p. 39/9

40 WX YZ[ G,x c def `b ]^_`a \ g y }~ z { a N umer, Drzewo, Numer[x] Ponumerow 1 NStos 1; Stos[NStos] x Y r X h X Z i ^\X snstos > 0 p n o q j klkm v STos[NStos] NI v = 0 ^svnstos NStos 1 w I v [1] NI v NI v 1 \ u ] b = 2 a = 1 c ZNIv ZIv[i] Iv[i 1] ] t u Z[i 1 t Z [s Xs ws Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NStos Nstos + 1 Stos[NStos] w \ u ^sv ] ] x[v(numer,drzewo, n wsjklkm o Xs p q p n o j klkm q) n o j klkm p q {vw} d e f g v a w b Ponumerow 2 Numer[b] 2 Drzewo {ab} NStos 2 Stos [a,b] Algorytmy grafowe (AGR 320) p. 40/9

41 ƒ ˆ Š Œ G,x Ž ª«ª«² ± ³b N umer, Drzewo, Numer[x] Ponumerow 1 NStos 1; Stos[NStos] x ƒ ƒ v STos[NStos] NI v = 0 ƒ žnstos > 0 ˆ š œ w I v [1] NI v NI v 1 i 1 ˆ NIv ž NStos NStos 1 Ÿ Iv[i] Iv[i 1] a = 1 b = 2 c = 3 Ÿ ƒ ž ž Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} ˆ ž NStos Nstos + 1 Stos[NStos] w ˆ (Numer,Drzewo, ž ž š ƒ ž œ š œ) š œ {vw} d e f g v b w a w c Ponumerow 3 Numer[c] 3 Drzewo {ab,bc} NStos 3 Stos [a,b,c] Algorytmy grafowe (AGR 320) p. 41/9

42 ¹ º»¼½¾ µ G,x À ÁÂà ½ Ä Ö ÜÝ àþû ß Þ ÜÝ Ù ÚÛ Ø ä ã á â åc N umer, Drzewo, Numer[x] Ponumerow 1 NStos 1; Stos[NStos] x Ï µ µ Å Æ v STos[NStos] NI v = 0»¹µ ÐNStos > 0 ¹ Ò º Í Ë Ì Î Ç ÈÉÈÊ w I v [1] NI v NI v 1 Ò i 1 º NIv Ñ Iv[i] Iv[i 1]» ÐÓNStos NStos 1 a = 1 b = 2 c = 3 Ñ Ð µ Ð ÔÐ Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NStos Nstos + 1 Stos[NStos] w ¹ Ò» º ÐÓ º Õ Ó(Numer,Drzewo, Ë ÔÐÇÈÉÈÊ Ì µ Ð Í Î Í Ë Ì Ç ÈÉÈÊ Î) Ë Ì Ç ÈÉÈÊ Í Î {vw} d e f = 4 g v c w a w b w f Ponumerow 4 Numer[f] 3 Drzewo {ab,bc,cf} NStos 4 Stos [a,b,c,f] Algorytmy grafowe (AGR 320) p. 42/9

43 ë ìíîïð æç èéê G,x ò óôõ ïñ ö f N umer, Drzewo, Numer[x] Ponumerow 1 NStos 1; Stos[NStos] x è ç ç é ø v STos[NStos] NI v = 0 íëç NStos > 0 ë ì ÿ ý þ ù úûúü w I v [1] NI v NI v 1 í NStos NStos 1 éniv éiv[i] Iv[i 1] ì éêi 1 a = 1 b = 2 c = 3 ê é ç Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NStos Nstos + 1 Stos[NStos] w ë í ì ì ê (Numer,Drzewo, ý ùúûúü þ ç ÿ ÿ ý þ ù úûúü ) ý þ ù úûúü ÿ {vw} d e f = 4 g = 5 v f w b w c w g Ponumerow 5 Numer[g] 5 Drzewo {ab,bc,cf,fg} NStos 5 Stos [a,b,c,f,g] Algorytmy grafowe (AGR 320) p. 43/9

44 G,x &' % $!!" # ( : ; <=> BE D = H F BC G F J I > N umer, Drzewo, Numer[x] Ponumerow 1 NStos 1; Stos[NStos] x 3 ) * v STos[NStos] NI v = 0 4NStos > /0 2 +,-,. w I v [1] NI v NI v 1 47NStos NStos 1 NIv Iv[i] Iv[i 1] 5 6 i 1 a = 1 b = 2 c = Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NStos Nstos + 1 Stos[NStos] w (Numer,Drzewo, / 84+,-, ) +,-,. /0 1 /0 +,-,. 2 {vw} d e f = 4 g = 5 v g w c w f NStos 4 Stos [a,b,c,f] Algorytmy grafowe (AGR 320) p. 44/9

45 LM NOP Q RST G,x Z[ Y X U UV W \ n o pqr vy x vw s tu q z vw { z ~ } r tf N umer, Drzewo, Numer[x] Ponumerow 1 NStos 1; Stos[NStos] x N g M ]^ M O v STos[NStos] NI v = 0 SQM hnstos > 0 Q j R w I v [1] NI v NI v 1 e _à`b cd f S hknstos NStos 1 b = 2 a = 1 c ONIv OIv[i] Iv[i 1] R i j OPi 1 Ph i O Mh lh Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NStos Nstos + 1 Stos[NStos] w Q j S R hk R mpk(numer,drzewo, c lh_à`b d Mh e e f f) _à`b cd e _à`b cd f {vw} d e f = 4 g = 5 v f NStos 3 Stos [a,b,c] Algorytmy grafowe (AGR 320) p. 45/9

46 ƒ G,x Ž Œ Š ˆ ª ª«ª«² ± ³ c N umer, Drzewo, Numer[x] Ponumerow 1 NStos 1; Stos[NStos] x ƒ v STos[NStos] NI v = 0 œnstos > 0 ž w I v [1] NI v NI v 1 š œÿnstos NStos 1 ƒniv ƒiv[i] Iv[i 1] ž ƒ i 1 a = 1 b = 2 c = 3 œ ƒ œ œ Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NStos Nstos + 1 Stos[NStos] w ž œÿ Ÿ(Numer,Drzewo, œ œ š) š š {vw} d e f = 4 g = 5 v c w g NStos 2 Stos [a,b] Algorytmy grafowe (AGR 320) p. 46/9

47 ¹ º»¼ µ G,x Âà Á À ½ ½¾ Ä Ö ÜÝ Ù ÚÛ Ø Û à Þ ÜÝ ß Þ ã á â ä åb N umer, Drzewo, Numer[x] Ponumerow 1 NStos 1; Stos[NStos] x µ Å µ Æ»¹µ ÐNStos > 0 Ï v STos[NStos] NI v = 0 ¹ Ò º Í ËÌ Î Ç ÈÉÈÊ w I v [1] NI v NI v 1 Ò i 1 º NIv Ñ Iv[i] Iv[i 1]» ÐÓNStos NStos 1 a = 1 b = 2 c = 3 Ð Ñ µ Ð ÔÐ Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NStos Nstos + 1 Stos[NStos] w ¹ Ò» º ÐÓ º Õ Ó(Numer,Drzewo, Ë ÔÐÇÈÉÈÊ Ì µ Ð Í Í Î Î) Ç ÈÉÈÊ ËÌ Í ËÌ Ç ÈÉÈÊ Î {vw} d = 6 e f = 4 g = 5 v b w d Ponumerow 6 Numer[d] 5 Drzewo {ab,bc,cf,fg,bd} NStos 3 Stos [a,b,d] Algorytmy grafowe (AGR 320) p. 47/9

48 æç èéê ë ìíî G,x ôõ ó ò ï ïð ñ ö d N umer, Drzewo, Numer[x] Ponumerow 1 NStos 1; Stos[NStos] x è ç ç é ø v STos[NStos] NI v = 0 íëç NStos > 0 ë ì ÿ ýþ ù úûúü w I v [1] NI v NI v 1 í NStos NStos 1 éniv éiv[i] Iv[i 1] ì éêi 1 a = 1 b = 2 c = 3 é ê ç Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NStos Nstos + 1 Stos[NStos] w ë í ì ì ê (Numer,Drzewo, ý ùúûúü þ ç ÿ ÿ ) ù úûúü ýþ ÿ ýþ ù úûúü {vw} d = 6 e = 7 f = 4 g = 5 v d w b w e Ponumerow 7 Numer[e] 7 Drzewo {ab,bc,cf,fg,bd,de} NStos 4 Stos [a,b,d,e] Algorytmy grafowe (AGR 320) p. 48/9

49 G,x % &'( "# "$! ) ; C DE B < => FH =GE A L K I N umer, Drzewo, Numer[x] Ponumerow 1 NStos 1; Stos[NStos] x 4 * + v STos[NStos] NI v = 0 5NStos > , -.-/ w I v [1] NI v NI v 1 58NStos NStos 1 NIv Iv[i] Iv[i 1] 6 7 i 1 a = 1 b = 2 c = Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NStos Nstos + 1 Stos[NStos] w 7 58 :8(Numer,Drzewo, 0 95,-.-/ , -.-/ 3) 0 1, -.-/ 2 3 {vw} d = 6 e = 7 f = 4 g = 5 v e w b w d NStos 3 Stos [a,b,d] Algorytmy grafowe (AGR 320) p. 49/9

50 R STUVW MN OPQ G,x Y Z[\ VX ] p o { u x yz w v u t q rs {} r z v ~ ud àbacnumer,drzewo, Numer[x] Ponumerow 1 NStos 1; Stos[NStos] x N P^_ NO TRN instos > 0 h v STos[NStos] NI v = 0 R k S w I v [1] NI v NI v 1 f d e g T ilnstos NStos 1 PNIv PIv[i] Iv[i 1] S j k PQi 1 a = 1 b = 2 c = 3 j P Qi Ni mi Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NStos Nstos + 1 Stos[NStos] w R k T S il S nql(numer,drzewo, d mìabac e Ni f g f d àbac e g) f d àbac e g {vw} d = 6 e = 7 f = 4 g = 5 v d NStos 2 Stos [a,b] Algorytmy grafowe (AGR 320) p. 50/9

51 ªb ƒ ˆ Š Œ G,x Ž ª± «ª ± ² «µ ³ N umer, Drzewo, Numer[x] Ponumerow 1 NStos 1; Stos[NStos] x ƒ ƒ v STos[NStos] NI v = 0 ƒ žnstos > 0 ˆ š œ w I v [1] NI v NI v 1 i 1 ˆ NIv ž NStos NStos 1 Ÿ Iv[i] Iv[i 1] a = 1 b = 2 c = 3 Ÿ ƒ ž ž Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} ˆ ž NStos Nstos + 1 Stos[NStos] w ˆ (Numer,Drzewo, ž ž š ƒ ž œ š œ) š œ {vw} d = 6 e = 7 f = 4 g = 5 v b w f NStos 1 Stos [a] Algorytmy grafowe (AGR 320) p. 51/9

52 ¼ ½¾ ÀÁ ¹º» G,x à ÄÅÆ ÀÂ Ç Ú Ù å ßæ â ãä á à ß Þ Û ÜÝ åç Üæä à ë ê è é ßa N umer, Drzewo, Numer[x] Ponumerow 1 NStos 1; Stos[NStos] x ¾¼ ÓNStos > 0 v STos[NStos] NI v = 0 ¹ Ò ºÈ É ¼ Õ ½ Ð Î Ï Ñ Ê ËÌËÍ w I v [1] NI v NI v 1 ¾ ÓÖNStos NStos 1 ºNIv ºIv[i] Iv[i 1] ½ Ô Õ º»i 1 a = 1 b = 2 c = 3 Ô º»Ó Ó Ó Numer[w] = 0 Ponumerow Ponumerow + 1 Numer[w] Ponumerow Drzewo Drzewo {vw} NStos Nstos + 1 Stos[NStos] w ¼ Õ ¾ ½ ÓÖ ½ Ø»Ö(Numer,Drzewo, Î ÓÊËÌËÍ Ï Ó Ð Ñ Ð Î Ï Ê ËÌËÍ Ñ) Î Ï Ê ËÌËÍ Ð Ñ {vw} d = 6 e = 7 f = 4 g = 5 v a w c NStos 0 Stos [ ] Algorytmy grafowe (AGR 320) p. 52/9

53 Własności DFS las przeszukiwań w głab (drzewo gdy graf jest spójny) wierzchołek odwiedzony - odwiedzony po raz pierwszy podczas przeszukiwania wierzchołek przetworzony - lista sasiedztwa została całkowicie zbadana etykiety czasowe : każdemu wierzchołki przyporzadkowujemy dwie liczby całkowite z przedziału 1,...2 V czas odwiedzin czas przetworzenia Algorytmy grafowe (AGR 320) p. 53/9

54 Algorytmy grafowe (AGR 320) p. 54/9

55 1/ Algorytmy grafowe (AGR 320) p. 55/9

56 1/ 2/ Algorytmy grafowe (AGR 320) p. 56/9

57 1/ 2/ 3/ Algorytmy grafowe (AGR 320) p. 57/9

58 1/ 2/ 3/ 4/ Algorytmy grafowe (AGR 320) p. 58/9

59 1/ 2/ 3/ 4/ 5/ Algorytmy grafowe (AGR 320) p. 59/9

60 1/ 2/ 3/ 4/ 5/ Algorytmy grafowe (AGR 320) p. 60/9

61 1/ 2/ 3/ 4/ 5/6 Algorytmy grafowe (AGR 320) p. 61/9

62 1/ 2/ 3/ 4/ 5/6 Algorytmy grafowe (AGR 320) p. 62/9

63 1/ 2/ 3/ 4/ 7 5/6 Algorytmy grafowe (AGR 320) p. 63/9

64 1/ 2/ 3/ 4/ 7 5/6 Algorytmy grafowe (AGR 320) p. 64/9

65 1/ 2/ 3/ 8 4/ 7 5/6 Algorytmy grafowe (AGR 320) p. 65/9

66 1/ 2/ 3/ 8 9/ 4/ 7 5/6 Algorytmy grafowe (AGR 320) p. 66/9

67 1/ 2/ 3/ 8 9/ 10/ 4/ 7 5/6 Algorytmy grafowe (AGR 320) p. 67/9

68 1/ 2/ 3/ 8 9/ 10/ 4/ 7 5/6 Algorytmy grafowe (AGR 320) p. 68/9

69 1/ 2/ 3/ 8 9/ 10/11 4/ 7 5/6 Algorytmy grafowe (AGR 320) p. 69/9

70 1/ 2/ 3/ 8 9/ 12 10/11 4/ 7 5/6 Algorytmy grafowe (AGR 320) p. 70/9

71 1/ 2/ 13 3/ 8 9/ 12 10/11 4/ 7 5/6 Algorytmy grafowe (AGR 320) p. 71/9

72 1/ 14 2/ 13 3/ 8 9/ 12 10/11 4/ 7 5/6 Algorytmy grafowe (AGR 320) p. 72/9

73 Algorytmy grafowe (AGR 320) p. 73/9

74 1/ Algorytmy grafowe (AGR 320) p. 74/9

75 1/ 2/ Algorytmy grafowe (AGR 320) p. 75/9

76 1/ 2/ 3/ Algorytmy grafowe (AGR 320) p. 76/9

77 1/ 2/ 3/ 4/ Algorytmy grafowe (AGR 320) p. 77/9

78 1/ 2/ 3/ 4/ Algorytmy grafowe (AGR 320) p. 78/9

79 1/ 2/ 3/ 4/5 Algorytmy grafowe (AGR 320) p. 79/9

80 1/ 2/ 3/ 6 4/5 Algorytmy grafowe (AGR 320) p. 80/9

81 1/ 2/ 7 3/ 6 4/5 Algorytmy grafowe (AGR 320) p. 81/9

82 1/ 2/ 7 8/ 3/ 6 4/5 Algorytmy grafowe (AGR 320) p. 82/9

83 1/ 2/ 7 8/ 3/ 6 4/5 Algorytmy grafowe (AGR 320) p. 83/9

84 1/ 2/ 7 8/9 3/ 6 4/5 Algorytmy grafowe (AGR 320) p. 84/9

85 1/ 10 2/ 7 8/9 3/ 6 4/5 Algorytmy grafowe (AGR 320) p. 85/9

86 1/ 10 2/ 7 8/9 3/ 6 4/5 11/ Algorytmy grafowe (AGR 320) p. 86/9

87 1/ 10 2/ 7 8/9 3/ 6 4/5 11/ 12/ Algorytmy grafowe (AGR 320) p. 87/9

88 1/ 10 2/ 7 8/9 3/ 6 4/5 11/ 12/ Algorytmy grafowe (AGR 320) p. 88/9

89 1/ 10 2/ 7 8/9 3/ 6 4/5 11/ 12/13 Algorytmy grafowe (AGR 320) p. 89/9

90 1/ 10 2/ 7 8/9 3/ 6 4/5 11/ 12/13 Algorytmy grafowe (AGR 320) p. 90/9

91 1/ 10 2/ 7 8/9 3/ 6 4/5 11/14 12/13 Algorytmy grafowe (AGR 320) p. 91/9

92 Algorytm DFS w wersji rekurencyjnej ñ òóô ï ð ìíî G, x ûü ú ù ø õ ö õ ö ý N umer, Drzewo, v x Numer[v] Ponumerowano 1 w Γ(v) Numer[w] = 0 Ponumerowano Ponumerowano + 1 N umer[w] P onumerowano Drzewo Drzewo {vw} (G, w) Numer(w) < Numer(v) {vw} (N umer, Drzewo, ) í þ ÿ í ï î ïð ó ÿ ñ ï ó ò í ó ò ò ð ð ñ û ú ù Algorytmy grafowe (AGR 320) p. 92/9

93 Przykładem zastosowania procedury DF S jest algorytm NUMEROWANIEWSZYSTKICHWIERZCHOŁKÓW, który wykorzystuje procedurę DFS do ponumerowania wszystkich wierzchołków grafu G. & '()' # $%! " G 1 0 / "!. +, - ( &%, - +% * v V Numer[v] 0 Drzewo v V Numer[v] = : => ;< 3? B (G, v) Algorytmy grafowe (AGR 320) p. 93/9

94 Uwagi końcowe: złożoność DFS (i wielu algorytmów wykorzystujacych DFS) jest rzędu O( V + E ) dodatkowe informacje na temat poprawności obu algorytmów przeszukiwania grafow oraz ich zastosowań sa zawarte Rozdziale 23 ksiażki Cormena, Leisersona i Rivesta (patrz literatura pomocnicza wykładu) Algorytmy grafowe (AGR 320) p. 94/9

Algorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV

Algorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV Algorytmy grafowe Wykład 2 Przeszukiwanie grafów Tomasz Tyksiński CDV Rozkład materiału 1. Podstawowe pojęcia teorii grafów, reprezentacje komputerowe grafów 2. Przeszukiwanie grafów 3. Spójność grafu,

Bardziej szczegółowo

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV Algorytmy grafowe Wykład 1 Podstawy teorii grafów Reprezentacje grafów Tomasz Tyksiński CDV Rozkład materiału 1. Podstawowe pojęcia teorii grafów, reprezentacje komputerowe grafów 2. Przeszukiwanie grafów

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład. Prof. dr hab. inż. Jan Magott Algorytmy grafowe: podstawowe pojęcia, reprezentacja grafów, metody przeszukiwania, minimalne drzewa rozpinające, problemy

Bardziej szczegółowo

Ogólne wiadomości o grafach

Ogólne wiadomości o grafach Ogólne wiadomości o grafach Algorytmy i struktury danych Wykład 5. Rok akademicki: / Pojęcie grafu Graf zbiór wierzchołków połączonych za pomocą krawędzi. Podstawowe rodzaje grafów: grafy nieskierowane,

Bardziej szczegółowo

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów Wykład 2. Reprezentacja komputerowa grafów 1 / 69 Macierz incydencji Niech graf G będzie grafem nieskierowanym bez pętli o n wierzchołkach (x 1, x 2,..., x n) i m krawędziach (e 1, e 2,..., e m). 2 / 69

Bardziej szczegółowo

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane: Wykład 4 grafy Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, E zbiór krawędzi, Grafy dzielimy na grafy skierowane i nieskierowane: Formalnie, w grafach skierowanych E jest podzbiorem

Bardziej szczegółowo

5. Najkrótsze ścieżki

5. Najkrótsze ścieżki p. Definicja 5. Najkrótsze ścieżki 5.1 Odległości w grafach: definicje i własności (Długość ścieżki). Długościa ścieżki nazywamy liczbę krawędzi występujacych w tej ścieżce. Bardziej formalnie, jeżeli

Bardziej szczegółowo

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych. Grafy Graf Graf (ang. graph) to zbiór wierzchołków (ang. vertices), które mogą być połączone krawędziami (ang. edges) w taki sposób, że każda krawędź kończy się i zaczyna w którymś z wierzchołków. Graf

Bardziej szczegółowo

a) 7 b) 19 c) 21 d) 34

a) 7 b) 19 c) 21 d) 34 Zadanie 1. Pytania testowe dotyczące podstawowych własności grafów. Zadanie 2. Przy każdym z zadań może się pojawić polecenie krótkiej charakterystyki algorytmu. Zadanie 3. W zadanym grafie sprawdzenie

Bardziej szczegółowo

Algorytmiczna teoria grafów

Algorytmiczna teoria grafów Przedmiot fakultatywny 20h wykładu + 20h ćwiczeń 21 lutego 2014 Zasady zaliczenia 1 ćwiczenia (ocena): kolokwium, zadania programistyczne (implementacje algorytmów), praca na ćwiczeniach. 2 Wykład (egzamin)

Bardziej szczegółowo

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY ERIAŁY DO WYKŁADU GRAFY Graf nieskierowany Grafem nieskierowanym nazywamy parę G = (V, E), gdzie V jest pewnym zbiorem skończonym (zwanym zbiorem wierzchołków grafu G), natomiast E jest zbiorem nieuporządkowanych

Bardziej szczegółowo

www.anilrana13014.weebly.com www.k8449.weebly.com r r r r r r r P r r r P r r r P r r r P r r P r r P P r r s r r r r r r r r r r r r r r r r r r r r r r r r r r r r r P P P P qt qt1234 56 810❶❷❶ ❸10❶❷❶

Bardziej szczegółowo

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki Porównanie algorytmów wyszukiwania najkrótszych ścieżek między wierzchołkami grafu. Instytut Informatyki 22 listopada 2015 Algorytm DFS w głąb Algorytm przejścia/przeszukiwania w głąb (ang. Depth First

Bardziej szczegółowo

TEORIA GRAFÓW I SIECI

TEORIA GRAFÓW I SIECI TEORIA GRAFÓW I SIECI Temat nr 1: Definicja grafu. Rodzaje i części grafów dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl tel.: 261-83-95-04, p.225/100

Bardziej szczegółowo

Zestawienie porownawcze najpopularniejszych i darmowych programow GPS. dostepnych na smartfony i tablety

Zestawienie porownawcze najpopularniejszych i darmowych programow GPS. dostepnych na smartfony i tablety Zesee pre pplres r prr prr r ere, prr pree prr s sep sr ble ; > s r J Ž ˆ š š š š Ÿ š š rr e pr r p Ws ble e p ere ps rps Trs r sr l Dse r r r r r r r r ere ers prr..2 6.2..7 2. 2. 7. 8....2.2 2. 7...2

Bardziej szczegółowo

Wykład 10 Grafy, algorytmy grafowe

Wykład 10 Grafy, algorytmy grafowe . Typy złożoności obliczeniowej Wykład Grafy, algorytmy grafowe Typ złożoności oznaczenie n Jedna operacja trwa µs 5 logarytmiczna lgn. s. s.7 s liniowa n. s.5 s. s Logarytmicznoliniowa nlgn. s.8 s.4 s

Bardziej szczegółowo

Poniżej 14 r.ż. 1 (0,5%) 1 (0,9%) r.ż. 11 (6,0%) 21 (18,9%) r.ż. 59 (32,2%) 44 (39,6%) r.ż. 38 (20,8%) 15 (13,5%) Powyżej 25 r.ż.

Poniżej 14 r.ż. 1 (0,5%) 1 (0,9%) r.ż. 11 (6,0%) 21 (18,9%) r.ż. 59 (32,2%) 44 (39,6%) r.ż. 38 (20,8%) 15 (13,5%) Powyżej 25 r.ż. ! " # $ % &! ' $ ( ) * # +, $ - *. /, 0 # 1!. 0, * 2 0 '! 3! 1 ) 4 $ % 5. ) (! +, ) 0 6 ). 7 1 $ 8, 9 : ; < = >? < ; @ = A B C D E F G @ H < I J K L D M N = A D M O E L D H B P ; A Q H < O R S G @ ; P

Bardziej szczegółowo

G. Wybrane elementy teorii grafów

G. Wybrane elementy teorii grafów Dorota Miszczyńska, Marek Miszczyński KBO UŁ Wybrane elementy teorii grafów 1 G. Wybrane elementy teorii grafów Grafy są stosowane współcześnie w różnych działach nauki i techniki. Za pomocą grafów znakomicie

Bardziej szczegółowo

Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1

Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1 Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1 G. Wybrane elementy teorii grafów W matematyce teorię grafów klasyfikuje się jako gałąź topologii. Jest ona jednak ściśle związana z algebrą i

Bardziej szczegółowo

Matematyka dyskretna

Matematyka dyskretna Matematyka dyskretna Wykład 13: Teoria Grafów Gniewomir Sarbicki Literatura R.J. Wilson Wprowadzenie do teorii grafów Definicja: Grafem (skończonym, nieskierowanym) G nazywamy parę zbiorów (V (G), E(G)),

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Informacje podstawowe 1. Konsultacje: pokój

Bardziej szczegółowo

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz Grafy (3): drzewa Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków UTP Bydgoszcz 13 (Wykłady z matematyki dyskretnej) Grafy (3): drzewa 13 1 / 107 Drzewo Definicja. Drzewo to graf acykliczny

Bardziej szczegółowo

Sprawozdanie do zadania numer 2

Sprawozdanie do zadania numer 2 Sprawozdanie do zadania numer 2 Michał Pawlik 29836 Temat: Badanie efektywności algorytmów grafowych w zależności od rozmiaru instancji oraz sposobu reprezentacji grafu w pamięci komputera 1 WSTĘP W ramach

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 03/0 Przeszukiwanie w głąb i wszerz I Przeszukiwanie metodą

Bardziej szczegółowo

ñ 1 9! Ù DEF+>/ P Q V { Ó bbó 1 YZ"p¼~ Þ Üb á \ V ~ Y Z#'! Ù DEF+>/P Q V g E o 9 &5

ñ 1 9! Ù DEF+>/ P Q V { Ó bbó 1 YZp¼~ Þ Üb á \ V ~ Y Z#'! Ù DEF+>/P Q V g E o 9 &5 ! ( *+,-./1 < =,>?@A 7 BCDE : F G,-. 2 3 H IJ B C K < L M 8, O :,-. 234567 6, :8 P,-. 2 3 8 Q R S T U V XYJ#,-. 2345 8 ( X :8,-. 2 3 Z [\], ^_ `ab'; c 8,-. 23[\ b!,-. 234567 8 [ \ U ` a, U #; c < 4567

Bardziej szczegółowo

) * +, -./ * + 0 1 2 3 2 4 5 6 7 8 5 ;? @ A 4 2 7 9 B C B C B C B C D E! " # $ % & ' ( ) * +, -./ * + 0 1 2 3 2 4 5 6 7 8 5 ;? @ A 4 2 7 9 D E F! " # $ % & ' ( ) * +, -./ * + 0 1 2 3 2

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /14 Matematyka dyskretna Andrzej Łachwa, UJ, 2016 andrzej.lachwa@uj.edu.pl 13/14 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami

Bardziej szczegółowo

! "!"#$ %&' ( 01, #6789:01" )*; ( <, = >? * (&# +( ) * A B C D E * (&# -.F B G H I JK L I JM N O O P Q R S D 4 T * (&# +U,* -.VW/XYV

! !#$ %&' ( 01, #6789:01 )*; ( <, = >? * (&# +( ) * A B C D E * (&# -.F B G H I JK L I JM N O O P Q R S D 4 T * (&# +U,* -.VW/XYV !!#$ %&' 1 -.2345#6781 *; < = > *&# + * + * @ A B C D E *&# +* @ -.F B G H I JK L I JM N O O P Q R S D 4 T *&# +U * -.VW/YV *&# + * 4 5 Z [ \ / ] B ^*& # + _@ -.`az[3bc/ * -.`/ 3 @ -._ ` / c U * -.--!././@

Bardziej szczegółowo

Algorytmy z powracaniem

Algorytmy z powracaniem Algorytmy z powracaniem Materiały Grafem nazywamy zbiór G = (V, E), gdzie: V jest zbiorem wierzchołków (ang. vertex) E jest zbiorem krawędzi (E można też określić jako podzbiór zbioru nieuporządkowanych

Bardziej szczegółowo

Algorytmiczna teoria grafów

Algorytmiczna teoria grafów Podstawowe pojęcia i klasy grafów Wykład 1 Grafy nieskierowane Definicja Graf nieskierowany (graf) G = (V,E) jest to uporządkowana para składająca się z niepustego skończonego zbioru wierzchołków V oraz

Bardziej szczegółowo

Złożoność obliczeniowa klasycznych problemów grafowych

Złożoność obliczeniowa klasycznych problemów grafowych Złożoność obliczeniowa klasycznych problemów grafowych Oznaczenia: G graf, V liczba wierzchołków, E liczba krawędzi 1. Spójność grafu Graf jest spójny jeżeli istnieje ścieżka łącząca każdą parę jego wierzchołków.

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa

Bardziej szczegółowo

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Używane struktury danych: V - zbiór wierzchołków grafu, V = {1,2,3...,n} E - zbiór krawędzi grafu, E = {(i,j),...}, gdzie i, j Î V i istnieje

Bardziej szczegółowo

Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe.

Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe. Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe. Oznaczenia G = V, E - graf bez wag, gdzie V - zbiór wierzchołków, E- zbiór krawdzi V = n - liczba wierzchołków grafu G E = m

Bardziej szczegółowo

ń ę ńń ń

ń ę ńń ń ń ż ę Ą Ś Ó Ę ń ę ńń ń ę ż ż Ę ę Ń Ę ę ę Ń ń ż Ę ę Ą ę ń ż ę ć ę ć ń ń ę Ś ę ę ź ż ż ę ę ż ę ż ń ę Ę ę ż Ę ń ż ę ń ń ę ż ę ż ę ż ń ę ę ę ę ę ę ę ż Ę ę ę ć ę ź ę ę ź Ę ę ń ę ż Ę ę Ę ń ż ę ę Ę ń ę ż Ę ę

Bardziej szczegółowo

ĄĄ

ĄĄ Ń Ę Ą Ą ĄĄ Ś ĘĘ Ę Ę Ę Ś Ń Ń Ę Ę Ę Ń Ę Ą ź Ę Ś Ą ź ź Ę Ę Ń Ę Ę ź ź ź Ę Ń Ę Ą Ę ź ź Ń Ó Ó Ś Ę Ń Ń ź Ę Ą Ł ź Ą ź Ą Ę ź Ń Ą ź ź ź Ń ź ź ź ź Ą ź Ą Ę Ą ź Ą Ą Ś ź Ą Ę Ę Ę Ę Ę Ę ź Ń Ń ź Ę ź Ę Ń Ł Ł Ń Ś ź Ń Ń Ę

Bardziej szczegółowo

Ą ń Ę Ę ź Ę Ę Ę ź Ż ź Ę ń ń ć Ę ź Ż

Ą ń Ę Ę ź Ę Ę Ę ź Ż ź Ę ń ń ć Ę ź Ż Ó Ś ń Ś Ź ń Ą ń Ę Ę ź Ę Ę Ę ź Ż ź Ę ń ń ć Ę ź Ż Ę Ę Ę ź ź Ą Ą ĄĄ ń Ę Ę ń ń ń Ź Ą ń ń ń ń Ę Ą Ę ń Ę Ę Ą ń ń ń ń ź Ę Ę ź ć ń Ę ń Ę Ę Ą ń Ę Ę ń Ę Ę ć ć ń ń Ę Ę Ę Ę ć ć Ź ć ć Ę Ż Ę ń Ż Ó Ę ć ń Ę Ż Ż Ż Ż Ę

Bardziej szczegółowo

www.anilrana13014.weebly.com www.k8449.weebly.com t t t t t t t t t t t t t t t t t ç iv P P P P P P P P P P P q r s t r 1 r 1 2 r 34 5 I 2 6 r 34 5 I 78 910 ❶ r s ❷ ❸ 78 910 P P P P P s r r r r r r r

Bardziej szczegółowo

Sortowanie topologiczne skierowanych grafów acyklicznych

Sortowanie topologiczne skierowanych grafów acyklicznych Sortowanie topologiczne skierowanych grafów acyklicznych Metody boolowskie w informatyce Robert Sulkowski http://robert.brainusers.net 23 stycznia 2010 1 Definicja 1 (Cykl skierowany). Niech C = (V, A)

Bardziej szczegółowo

Wykład 7. Algorytmy grafowe

Wykład 7. Algorytmy grafowe Wykład Algorytmy grafowe Algorytmy grafowe i podstawowe algorytmy przeszukiwania Problem Definicje i własności Reprezentacja Przeszukiwanie wszerz (Breadthirst Search) Przeszukiwanie w głąb (Depthirst

Bardziej szczegółowo

)+*-,-.0/1* *3/:.<;>=?: K L M N

)+*-,-.0/1* *3/:.<;>=?: K L M N ! " # $&% ' ( ( )+*-,-.0/1*3254+67298*3/:.=?: /1@BACA47/1D-67.

Bardziej szczegółowo

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1 Wykład Algorytmy grafowe metoda zachłanna. Właściwości algorytmu zachłannego:. W przeciwieństwie do metody programowania dynamicznego nie występuje etap dzielenia na mniejsze realizacje z wykorzystaniem

Bardziej szczegółowo

Grafy i Zastosowania. 9: Digrafy (grafy skierowane) c Marcin Sydow

Grafy i Zastosowania. 9: Digrafy (grafy skierowane) c Marcin Sydow 9: Digrafy (grafy skierowane) Spis zagadnień Digrafy Porządki częściowe Turnieje Przykłady: głosowanie większościowe, ścieżka krytyczna Digraf (graf skierowany) Digraf to równoważny termin z terminem graf

Bardziej szczegółowo

BI< ¾BIèéåê A, I BI< ¾ BI V W ¼ AWE. ¾BI ë 1 ' A+ KI< ¾BI ' 1 ÙÏf ÚÛ Ü õi ¹ Ý /. â I. +I%ñª" «òóh>?n /5 c ô5 3E3. y fg " }~ IªúA*!

BI< ¾BIèéåê A, I BI< ¾ BI V W ¼ AWE. ¾BI ë 1 ' A+ KI< ¾BI ' 1 ÙÏf ÚÛ Ü õi ¹ Ý /. â I. +I%ñª «òóh>?n /5 c ô5 3E3. y fg  }~ IªúA*! !"#$%& 以第 % 届 会议为视角 ' ( )*+,&''&D ( 7% & ' F # $ 1 G J K L % M&''& 1NO N 1PQR STUV WX-!-./Y 7 Z [\] ^_M`abc? P 1 (#?S ( # N - 01 ( F 2 7 $ 7 6 7 6 7 6 7 6 7? F( N 2 7 7 7! 7 $ - Y$# 1 ^ ( - 2 89 &''& 678

Bardziej szczegółowo

! " # $ % & ' ( ) * +,

!  # $ % & ' ( ) * +, L I * &() *)'+*,' ' -" ". $%&'()* +,-./01! " $ %&'())*+,-./01 ) 234 ()) /0567 (8)9:;)75 () +,-.9 34)?@ABC+> DEFGHJKL ) X +,-.Y56 I> ()+>91 Z[=O\]X= O ^_Y ` +>

Bardziej szczegółowo

Digraf. 13 maja 2017

Digraf. 13 maja 2017 Digraf 13 maja 2017 Graf skierowany, digraf, digraf prosty Definicja 1 Digraf prosty G to (V, E), gdzie V jest zbiorem wierzchołków, E jest rodziną zorientowanych krawędzi, między różnymi wierzchołkami,

Bardziej szczegółowo

Algorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 1,2,3. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie

Algorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 1,2,3. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie Algorytmy Grafowe dr hab. Bożena Woźna-Szcześniak, prof. UJD Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie b.wozna@ujd.edu.pl Wykład 1,2,3 B. Woźna-Szcześniak (UJD) Algorytmy

Bardziej szczegółowo

ć Ź Ę ź Ó ż ż Ś Ć Ś

ć Ź Ę ź Ó ż ż Ś Ć Ś Ż Ę Ę Ó Ę Ś ż ć Ź Ę ź Ó ż ż Ś Ć Ś Ż ć Ć ć Ś ć Ó Ń Ż ć Ć Ż Ą Ę Ż Ż Ż Ó Ż Ó Ó Ś Ż Ć Ę Ź ć ż Ó ÓĘ ż Ż Ó Ę Ż ż Ą Ą Ż Ś Ć ż Ź Ż ć ć Ś ć ż Ą Ś Ó ć Ź ć Ó Ó Ść ż Ó Ó Ć Ó Ó Ść ć Ś ć ż ć Ó Ó ć ć ć Ó ć Ó ć Ó ć Ó

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /14 Matematyka dyskretna Andrzej Łachwa, UJ, 2012 andrzej.lachwa@uj.edu.pl 13/14 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami

Bardziej szczegółowo

Ó Ń Ś Ą Ś Ń Ś Ś

Ó Ń Ś Ą Ś Ń Ś Ś ź Ó Ń Ś Ą Ś Ń Ś Ś Ś Ą Ś Ń Ś Ę Ń Ą Ą Ś ź Ś ć Ó Ą Ś Ć ć Ś ć Ń ć Ń Ó Ą Ś ć Ó ć ć ć Ń Ę Ń ź ź ć ć Ę ć ć Ń Ń Ę Ą ź Ą Ń Ń Ą Ą Ą Ń ź ć Ń ź Ę ź ć Ą ć Ń ć Ś Ś Ń ć Ń ź ć Ś ź ź Ń Ń Ń ź Ę Ę ź Ę Ś ź Ń ź ć Ń Ń Ń

Bardziej szczegółowo

ć ć ć ć ć ć ć ć ć ć ź

ć ć ć ć ć ć ć ć ć ć ź Ó ć Ś ź ź ć ć ć ć ź ć ź ć ź ć ć ć ć ć ć ć ć ć ć ć ć ć ć ć ć ć ź Ó ć ć ć ć ź ź ć Ę ć ć ć ź ć ć ź ć Ę ć ć ź ć ź ć Ó ć ć Ą ć ć ć ć ć ć ć ć ć ć ć ć ć ć ć ć ć Ż ć ć ć Ń ć Ą ź ź ć ć ź ć ć Ę ć ć ć ć ć ć ć ć ź

Bardziej szczegółowo

Ą Ś Ń Ś Ą Ś Ń

Ą Ś Ń Ś Ą Ś Ń ź Ż Ą Ę Ą Ś Ń Ś Ą Ś Ń Ą Ś Ś Ś Ś Ą Ś Ś ź Ś Ś ŚĆ Ń Ń Ń Ś Ń Ń Ń ć Ń Ń Ó Ą Ś Ą Ń Ń Ń ź ć Ń Ń Ń ć Ń Ę Ę Ś ć Ę Ń Ń ź Ą ć Ń Ą Ś Ń Ę Ń Ę Ę Ż Ś Ń Ń Ń ć Ę Ę Ę ć Ę Ą ć Ń Ą ć Ś Ń Ń Ń ć Ń Ę Ń Ń Ę ź Ń Ą Ę Ę Ę Ę Ę Ę

Bardziej szczegółowo

/ ( ) / 2008 9 / ( ) / 1. 2. 3. 3.1 3.2 3.3 3.4 4. ( ) 4.1 4.2 4.3 4.4 5. 5.1 5.2 5.3 5.4 6. 6.1 () 6.2 6.3 6.4 6.5 / 6.6 6.7 6.8 6.9 T5 1. 2007 ( ) (RPE) / / / 2. 1) / / / 2) TCP T5 3) / / / 1) 2) 3)

Bardziej szczegółowo

Podstawy Programowania 2 Grafy i ich reprezentacje. Plan. Wstęp. Teoria grafów Graf skierowany. Notatki. Notatki. Notatki. Notatki.

Podstawy Programowania 2 Grafy i ich reprezentacje. Plan. Wstęp. Teoria grafów Graf skierowany. Notatki. Notatki. Notatki. Notatki. Podstawy Programowania Grafy i ich reprezentacje Arkadiusz Chrobot Zakład Informatyki 7 maja 09 / 4 Plan Wstęp Zastosowania grafów / 4 Wstęp Grafy są w informatyce strukturami danych stosowanymi w wielu

Bardziej szczegółowo

. Podstawy Programowania 2. Grafy i ich reprezentacje. Arkadiusz Chrobot. 9 czerwca 2016

. Podstawy Programowania 2. Grafy i ich reprezentacje. Arkadiusz Chrobot. 9 czerwca 2016 Podstawy Programowania 2 Grafy i ich reprezentacje Arkadiusz Chrobot Zakład Informatyki 9 czerwca 2016 1 42 Plan 1 Wstęp 2 Teoria grafów 3 Grafy jako struktury danych 4 Zastosowania grafów 2 42 Wstęp Wstęp

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Matematyka dyskretna. Andrzej Łachwa, UJ, /15 Matematyka dyskretna Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl 14/15 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami

Bardziej szczegółowo

Digraf o V wierzchołkach posiada V 2 krawędzi, zatem liczba różnych digrafów o V wierzchołkach wynosi 2 VxV

Digraf o V wierzchołkach posiada V 2 krawędzi, zatem liczba różnych digrafów o V wierzchołkach wynosi 2 VxV Graf skierowany (digraf) zbiór wierzchołków i zbiór krawędzi skierowanych łączących (co najwyżej jeden raz) uporządkowane pary wierzchołków. Mówimy wtedy, że krawędź łączy pierwszy wierzchołek z drugim

Bardziej szczegółowo

Lista 0. Kamil Matuszewski 1 marca 2016

Lista 0. Kamil Matuszewski 1 marca 2016 Lista 0 Kamil Matuszewski marca 206 2 3 4 5 6 7 8 0 0 Zadanie 4 Udowodnić poprawność mnożenia po rosyjsku Zastanówmy się co robi nasz algorytm Mamy podane liczby n i m W każdym kroku liczbę n dzielimy

Bardziej szczegółowo

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne Przypominajka: 152 drzewo filogenetyczne to drzewo, którego liśćmi są istniejące gatunki, a węzły wewnętrzne mają stopień większy niż jeden i reprezentują

Bardziej szczegółowo

& & 09!? % <4 5&'? A& A&? ' 50$9 '; DEF ; (H% &I4 J&4 5!KC9 JL"

& & 09!? % <4 5&'? A& A&? ' 50$9 '; DEF ; (H% &I4 J&4 5!KC9 JL %%%% / %%%%!"#$ &'( @A B1CDE )!*+,)-. 01234*56789:&; /01234*56789:&; < =>? *FG>H I@JK S1T7U6 VWK &X &'Y LR 7P1Q N. @9 M $% &'% (!! "# ^_\ ' L Z6 &'[61\]^_`@[ab@9 Mc619 Md 9 MYe1fg1 Bh 546 &'7% 12 &3 40)

Bardziej szczegółowo

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb. 1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb. Algorytmy przeszukiwania w głąb i wszerz są najczęściej stosowanymi algorytmami przeszukiwania. Wykorzystuje się je do zbadania istnienia połączenie

Bardziej szczegółowo

0. ELEMENTY LOGIKI. ALGEBRA BOOLE A

0. ELEMENTY LOGIKI. ALGEBRA BOOLE A WYKŁAD 5() ELEMENTY LOGIKI ALGEBRA BOOLE A Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań Matematyka zbudowana jest z pierwotnych twierdzeń (nazywamy

Bardziej szczegółowo

Ł Ł Ą Ą Ą Ą Ą Ą Ś Ą Ń

Ł Ł Ą Ą Ą Ą Ą Ą Ś Ą Ń Ó Ą Ę ń Ł Ł Ą Ą Ą Ą Ą Ą Ś Ą Ń Ł Ł Ó ż Ę ć ż ń Ł ż Ó ć ń ń ń ń Ł Ą Ł Ą ż ż ń ń Ł Ą Ę Ł ż ż ĄĄ ń Ł Ź ń Ę ń ż ń Ń ć ć ż ć ż Ó ż ż Ą ż Ę ż Ó ń ż ż Ś Ę Ę ń ń ń Ł ź ż Ó ż ŚÓ ż ź ć ń Ą Ą Ą ż Ę Ł Ń ń Ą Ę Ę ź ż

Bardziej szczegółowo

Graf. Definicja marca / 1

Graf. Definicja marca / 1 Graf 25 marca 2018 Graf Definicja 1 Graf ogólny to para G = (V, E), gdzie V jest zbiorem wierzchołków (węzłów, punktów grafu), E jest rodziną krawędzi, które mogą być wielokrotne, dokładniej jednoelementowych

Bardziej szczegółowo

ś ść ő ś ś ń Í ś Ż ś Ó ś ś ś Ż Ż Ż ś ść ść Ć Ż ś Ó Ć ś Ć Ć Ć ś ś ś ś Ż Ż ń ś

ś ść ő ś ś ń Í ś Ż ś Ó ś ś ś Ż Ż Ż ś ść ść Ć Ż ś Ó Ć ś Ć Ć Ć ś ś ś ś Ż Ż ń ś é Ś Ś Ś ŁĄ ń ľ ś ń ś ś ń Í Ż ś ś Í Ż Ć Ć ś ś ś ś ń Ż ń ś ś Ć ś Ć ś ń Ć ś ś ń Ż ś ś ść ő ś ś ń Í ś Ż ś Ó ś ś ś Ż Ż Ż ś ść ść Ć Ż ś Ó Ć ś Ć Ć Ć ś ś ś ś Ż Ż ń ś ś ć ś ś ś ś ś Í ś ś ś ś Ć ć ś ś ś ś ś Í Ż ń

Bardziej szczegółowo

Ś Ż ć Ą Ż Ż ć Ś Ż Ą Ż Ą ľ Ś ć Ś Ś ć Ś ć ě Ż Ż Ż Ż Ż Ź Ż Ż Í

Ś Ż ć Ą Ż Ż ć Ś Ż Ą Ż Ą ľ Ś ć Ś Ś ć Ś ć ě Ż Ż Ż Ż Ż Ź Ż Ż Í Ó Í ľ ä Í ľ Ä ľ Ü Ś Đ Ą Ś Ż Ś Ż Ś Ż ć Ą Ż Ż ć Ś Ż Ą Ż Ą ľ Ś ć Ś Ś ć Ś ć ě Ż Ż Ż Ż Ż Ź Ż Ż Í Ż ľ Ó Ż Ż Ż ć Ż ć Ó ć Ą ć ć ć ü Í Á í í Ś Ż Ą Ś Ż í í í í í í í í í í ć Ż Í í ć Ż Ż Ż Ź Ą Ż Ż ć Ż őż Í ć Ż ć

Bardziej szczegółowo

ü"#" ).pj)[ ø»3).»w3 A+B CD+B" ~!\ äz 01 )+99 _ ) = µ# º»p $ &)+99 _ # 4bcd EF( ÃH ÈÛ3 012'¾

ü# ).pj)[ ø»3).»w3 A+B CD+B ~!\ äz 01 )+99 _ ) = µ# º»p $ &)+99 _ # 4bcd EF( ÃH ÈÛ3 012'¾ !"#$ %#"&$' ' &&#""" $!&!"#$&" &"# & ()#!"#$%&' ()&!"#$$ '$ '+ #, # #!, #! #-+,-/01, ""$!-+,- 346, #""!"7 9:; !"#$?!"@ABCD 9E; < %#$ FGHIJKLMN&' HO(@A%) FGHI PQ RS TU%VWXY FGHI 7 /01 N )Z[\]^_ `ab HIcP

Bardziej szczegółowo

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Wykład 3 Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Dynamiczne struktury danych Lista jest to liniowo uporządkowany zbiór elementów, z których dowolny element

Bardziej szczegółowo

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy: Temat: Powtórzenie wiadomości z PODSTAW INFORMATYKI I: Pojęcia: złożoność czasowa algorytmu, rząd funkcji kosztu. Algorytmy. Metody programistyczne. Struktury danych. Literatura. A. V. Aho, J.E. Hopcroft,

Bardziej szczegółowo

Rozwiązywanie problemów metodą przeszukiwania

Rozwiązywanie problemów metodą przeszukiwania Rozwiązywanie problemów metodą przeszukiwania Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Reprezentacja problemu w przestrzeni stanów Jedną z ważniejszych metod sztucznej

Bardziej szczegółowo

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew Drzewa Las - graf, który nie zawiera cykli Drzewo - las spójny Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew Niech T graf o n wierzchołkach będący

Bardziej szczegółowo

Ń Ś Ó Ó Ć Ś ŃŃ Ó Ą

Ń Ś Ó Ó Ć Ś ŃŃ Ó Ą Ń Ó Ń Ń Ś Ń Ą Ń Ą Ź Ź Ą Ś Ż Ń Ć Ń Ń Ń Ń Ń Ś Ó Ó Ć Ś ŃŃ Ó Ą Ń Ń Ź Ś ĄŃ Ż Ń Ą Ć Ś Ą Ą Ń Ó Ą Ą Ś Ó Ą Ń Ą Ą Ą Ą Ń Ą Ś Ś Ą Ń Ą Ć Ó Ą Ś Ń Ą Ą Ą Ą Ń Ą Ń Ą Ą Ą Ą Ż Ż Ś Ń Ń Ń Ó Ó Ś Ż Ó Ą Ń Ń Ń Ń Ń Ą Ą Ń Ą Ń Ą Ą

Bardziej szczegółowo

UNIWERSYTET GDAŃSKI MATERIAŁY DYDAKTYCZNE DO PRZEDMIOTU MATEMATYKA DYSKRETNA. pod redakcją: Hanna Furmańczyk Karol Horodecki Paweł Żyliński

UNIWERSYTET GDAŃSKI MATERIAŁY DYDAKTYCZNE DO PRZEDMIOTU MATEMATYKA DYSKRETNA. pod redakcją: Hanna Furmańczyk Karol Horodecki Paweł Żyliński UNIWERSYTET GDAŃSKI MATERIAŁY DYDAKTYCZNE DO PRZEDMIOTU MATEMATYKA DYSKRETNA pod redakcją: Hanna Furmańczyk Karol Horodecki Paweł Żyliński kierunek: Informatyka GDAŃSK 2019 Niniejsze materiały powstały

Bardziej szczegółowo

Ł ś ś ń ń ś

Ł ś ś ń ń ś Ę ń Ł ś ś ń ń ś ść ę ę ś ż ś ś ś ę ę ś ę ś ę ć ź ż ś ęś ż ę ś ś ś ć ź ę ę ś ś ść ć ę ę ś ś ę ę ę ę ś Ł Ł Ł Ł Ł ś ć ę ę ę ę ń Ą Ą ż ę ę Ł Ś ę Ł Ł ę ę ę ś Ą ę ę ę Ł Ł ń ń ś Ą Ń ś Ł Ó Ł ść ń ń ą ę ść ń

Bardziej szczegółowo

Ę ż Ó Ł Ść ą ą ą Ą ć ż ą ż ń ą ć ż ć Ę ą ż ą ą ż ą ź ą ń ą ń ą ą ż ć

Ę ż Ó Ł Ść ą ą ą Ą ć ż ą ż ń ą ć ż ć Ę ą ż ą ą ż ą ź ą ń ą ń ą ą ż ć ż Ś Ą ć ą ą ą ż ż ą ą ć ą ż Ę ą ć ż ć Ó ą ą ń ą ż ń ą Ń ą ą ą Ą ą ż ż Ą ż ą ź ą ą ż ż Ę ź ą ż ą ą ą ż Ź ą ń Ę ż Ó Ł Ść ą ą ą Ą ć ż ą ż ń ą ć ż ć Ę ą ż ą ą ż ą ź ą ń ą ń ą ą ż ć ć ą ż ą ą ą ą ć ć ć ą ą

Bardziej szczegółowo

ż ć ć ż ż ż ż ź ć ż ć ż ż ź ż ć ż ź ż ć ź ż ż ź ć ż ż ć ż

ż ć ć ż ż ż ż ź ć ż ć ż ż ź ż ć ż ź ż ć ź ż ż ź ć ż ż ć ż Ś Ś Ż Ó ż ż ż ż ć ż ż ć ż ż ż ż ź ż ż ż Ó Ś ż ć ć ż ż ż ż ź ć ż ć ż ż ź ż ć ż ź ż ć ź ż ż ź ć ż ż ć ż ż Ś ż ż ć ż Ś Ó ż ż ż ć ć ż ć ź ż ż ż ć ć ć ć ż ż ź Ó ć ż ż ż ć ź ż ć ż ć ż ż ż ż ż ć ć ć ż ż ż ź ż

Bardziej szczegółowo

ć Ś

ć Ś Ą Ą Ń Ą ć Ś Ą ć Ś Ś Ś Ś Ś Ś Ś Ś Ś Ś ź Ś ć Ś Ś ć Ś Ś ź Ż ć ź Ż ć Ą Ś ź ź ć Ę ć Ś ć Ś Ś Ś ź Ś Ś Ś Ś Ś Ś Ś Ś Ą ć ć ć ć Ę ć ć Ś Ś Ś ć ć ć Ś Ś Ś Ś ć Ą ć ź ć ć Ę Ą Ś Ę ć ć ź Ę ć ć Ś Ę ź ć ć Ą Ę Ę Ą Ś Ś ź ć ć

Bardziej szczegółowo

ó ą ę ó ó Ż ć ó ó ó ę Ó ó ą ć ę ó ą ę ż Ó Ń ą ą ę ó Ę ó Ą ć ę ó ą ą ę ó

ó ą ę ó ó Ż ć ó ó ó ę Ó ó ą ć ę ó ą ę ż Ó Ń ą ą ę ó Ę ó Ą ć ę ó ą ą ę ó Ą ę ć Ą ą ą ą ż ż ó ą ż ć ą ą ć ż ć ó ó ą ó ą ń ą ę ą ę ż ń ą ó ą ą ą ą ą ą ą ó ż Ś ę ą ę ą ą ż ĘŚ ż ń ę ę ą ó ż ą Ą Ź ń Ó ą ą ó ą ę ó ą ę ó ó Ż ć ó ó ó ę Ó ó ą ć ę ó ą ę ż Ó Ń ą ą ę ó Ę ó Ą ć ę ó ą ą

Bardziej szczegółowo

Ś ź Ś Ś

Ś ź Ś Ś Ś ź Ś Ś Ę Ż Ę ź Ł Ą ź ź Ę ź Ą Ą Ę Ó Ś Ś Ś Ę Ś ź Ś Ś ź ź ź ź Ę Ą Ż Ą ź ź ź Ę ź Ę Ś ź ź ŚĆ Ś Ś ź ź Ą Ą Ą Ą ź ź ź Ż Ś Ą Ś Ą Ś Ń Ś Ą Ż Ś Ń Ś Ą Ą Ę Ś Ą ź ź ź Ą ź ź ź Ą Ż Ą Ą Ę ź Ę Ź ź ź Ą Ś Ą ź ź Ę ź Ą ź Ć

Bardziej szczegółowo

Ść ć Ż ć Ż Ś ć ż ń ż Ż ć Ś Ż ń

Ść ć Ż ć Ż Ś ć ż ń ż Ż ć Ś Ż ń ć Ę ć Ę Ę Ż Ść ć Ż ć Ż Ś ć ż ń ż Ż ć Ś Ż ń ń Ż ż Ń ć ń Ó ć Ę Ż ć ć Ś Ż Ż ż Ż Ż Ż ń ż ż Ż Ż ż Ż Ż ć ć Ż ń ń ć ć ć ż Ś Ł ż Ę Ż ć ć ć ń Ż ń Ł ń ż ć ć Ż ż Ó ć ć ń ć Ż Ż ń ń ń ż Ż ć Ż ż Ż Ó ż Ż ć ż ż Ę Ż Ż

Bardziej szczegółowo

Ą Ś Ó

Ą Ś Ó Ó ź ź Ó Ą ć Ą Ś Ó Ś Ę Ś Ł Ź ć Ś ć Ź Ę Ś Ą Ó Ó ź ć ć Ź Ź Ę ć ź ź Ń Ł Ź Ź ź Ń Ź ć Ś Ę Ą Ś Ź Ń Ń ć Ó Ś Ś ź Ź Ź Ą Ń Ą ź Ń Ł Ń Ń Ń ź Ń ć ć ć ź ć Ś Ń ć ć Ę ć Ę ć Ę Ź Ś Ó Ź Ę Ś Ę Ź Ó Ź Ę Ń ć ź Ź Ó Ę ć Ś Ź Ń ć

Bardziej szczegółowo

ń ź ź ń ń ź ć Ń ń Ż ń

ń ź ź ń ń ź ć Ń ń Ż ń Ę Ę ń ń ń ć Ń ć ć Ń ź ń ć ć ź ć ź ń ź ź ń ń ź ć Ń ń Ż ń Ł Ł ń Ę ź ź Ś Ś ź ń ń ź ń ń ń ń Ś ź Ę ź ń Ą ń ć ć ń ć ń Ą ć ź ź Ś ź Ś ń ń ń ń ń ń ć ń ń Ą ć ń Ś ń ń ź ź ź ć ć ń Ł Ę ń ć ń ń ź Ń ź ń Ś Ś Ś ć ń ć ź

Bardziej szczegółowo