Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Grafy - Wprowadzenie
zaj ˛ecia 5.Marcin Andrychowicz, Tomasz Kulczy ´nski, Bła˙zej Osi ´nski
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Co to jest graf?
Grafjest to obiekt matematyczny, który mo˙zna wyobra˙za´c sobie jako map ˛e, zawieraj ˛ac ˛a miasta i drogi
składa si ˛e ze zbioru wierzchołków (miast) i
kraw˛edzi(dróg)
dla wygody wierzchołki b ˛edziemy numerowa´c kolejnymi liczbami naturalnymi 1, 2, . . .
oto przykładowy graf o 7 wierzchołkach i 8 kraw ˛edziach: 1 2 3 4 5 6 7
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Co to jest graf?
Grafjest to obiekt matematyczny, który mo˙zna wyobra˙za´c sobie jako map ˛e, zawieraj ˛ac ˛a miasta i drogi
składa si ˛e ze zbioru wierzchołków (miast) i kraw˛edzi(dróg)
dla wygody wierzchołki b ˛edziemy numerowa´c kolejnymi liczbami naturalnymi 1, 2, . . .
oto przykładowy graf o 7 wierzchołkach i 8 kraw ˛edziach: 1 2 3 4 5 6 7
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Co to jest graf?
Grafjest to obiekt matematyczny, który mo˙zna wyobra˙za´c sobie jako map ˛e, zawieraj ˛ac ˛a miasta i drogi
składa si ˛e ze zbioru wierzchołków (miast) i kraw˛edzi(dróg)
dla wygody wierzchołki b ˛edziemy numerowa´c kolejnymi liczbami naturalnymi 1, 2, . . .
oto przykładowy graf o 7 wierzchołkach i 8 kraw ˛edziach: 1 2 3 4 5 6 7
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Co to jest graf?
Grafjest to obiekt matematyczny, który mo˙zna wyobra˙za´c sobie jako map ˛e, zawieraj ˛ac ˛a miasta i drogi
składa si ˛e ze zbioru wierzchołków (miast) i kraw˛edzi(dróg)
dla wygody wierzchołki b ˛edziemy numerowa´c kolejnymi liczbami naturalnymi 1, 2, . . .
oto przykładowy graf o 7 wierzchołkach i 8 kraw ˛edziach: 1 2 3 4 5 6 7
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Gdzie wyst ˛epuj ˛
a grafy?
Przykładowe zastosowania grafów:
Mamy dan ˛a map ˛e i chcemy wiedzie´c czy z miasta A da si ˛e dojecha´c do miasta B.
Mamy dan ˛a map ˛e i chcemy dowiedzie´c si ˛e jak
najszybciej mo˙zna przejecha´c z miasta A do miasta B. Mamy dany zbiór zada ´n do wykonania i zbiór
pracowników. Dla ka˙zdego zadania, wiemy, którzy
pracownicy potrafi ˛a je wykona´c. Chcemy wiedzie´c, czy
da si ˛e przydzieli´c ka˙zdemu pracownikowi co najwy˙zej jedno zadanie, tak aby wszystkie zadania zostały wykonane.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Gdzie wyst ˛epuj ˛
a grafy?
Przykładowe zastosowania grafów:
Mamy dan ˛a map ˛e i chcemy wiedzie´c czy z miasta A da si ˛e dojecha´c do miasta B.
Mamy dan ˛a map ˛e i chcemy dowiedzie´c si ˛e jak
najszybciej mo˙zna przejecha´c z miasta A do miasta B.
Mamy dany zbiór zada ´n do wykonania i zbiór pracowników. Dla ka˙zdego zadania, wiemy, którzy
pracownicy potrafi ˛a je wykona´c. Chcemy wiedzie´c, czy
da si ˛e przydzieli´c ka˙zdemu pracownikowi co najwy˙zej jedno zadanie, tak aby wszystkie zadania zostały wykonane.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Gdzie wyst ˛epuj ˛
a grafy?
Przykładowe zastosowania grafów:
Mamy dan ˛a map ˛e i chcemy wiedzie´c czy z miasta A da si ˛e dojecha´c do miasta B.
Mamy dan ˛a map ˛e i chcemy dowiedzie´c si ˛e jak
najszybciej mo˙zna przejecha´c z miasta A do miasta B. Mamy dany zbiór zada ´n do wykonania i zbiór
pracowników. Dla ka˙zdego zadania, wiemy, którzy pracownicy potrafi ˛a je wykona´c. Chcemy wiedzie´c, czy da si ˛e przydzieli´c ka˙zdemu pracownikowi co najwy˙zej jedno zadanie, tak aby wszystkie zadania zostały wykonane.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Oznaczenia
OznaczeniaV (G) - zbiór wierzchołków grafu G
E (G) - zbiór kraw ˛edzi grafu G notacja skrócona: V i E przykład: 1 2 3 4 5 6 7 V = {1, 2, 3, 4, 5, 6, 7} E = {(1, 2), (2, 3), (3, 4), (4, 5), (2, 5), (3, 6), (6, 7)}
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Oznaczenia
OznaczeniaV (G) - zbiór wierzchołków grafu G E (G) - zbiór kraw ˛edzi grafu G
notacja skrócona: V i E przykład: 1 2 3 4 5 6 7 V = {1, 2, 3, 4, 5, 6, 7} E = {(1, 2), (2, 3), (3, 4), (4, 5), (2, 5), (3, 6), (6, 7)}
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Oznaczenia
OznaczeniaV (G) - zbiór wierzchołków grafu G E (G) - zbiór kraw ˛edzi grafu G notacja skrócona: V i E przykład: 1 2 3 4 5 6 7 V = {1, 2, 3, 4, 5, 6, 7} E = {(1, 2), (2, 3), (3, 4), (4, 5), (2, 5), (3, 6), (6, 7)}
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Oznaczenia
OznaczeniaV (G) - zbiór wierzchołków grafu G E (G) - zbiór kraw ˛edzi grafu G notacja skrócona: V i E przykład: 1 2 3 4 5 6 7 V = {1, 2, 3, 4, 5, 6, 7} E = {(1, 2), (2, 3), (3, 4), (4, 5), (2, 5), (3, 6), (6, 7)}
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
´
Scie˙zka
´ Scie˙zka ´scie˙zk ˛ał ˛acz ˛ac ˛a wierzchołki v0i vnnazywamy ci ˛ag (v0,v1, . . . ,vn), taki, ˙ze ka˙zde dwa kolejne wierzchołki, tego ci ˛agu s ˛a poł ˛aczone kraw ˛edzi ˛a
´scie˙zka (1, 2, 3, 4) ł ˛acz ˛ac ˛a wierzchołki 1 i 4:
1 2 3
4
5
6 7
długo´sci ˛a ´scie˙zki nazywamy ilo´s´c kraw ˛edzi na tej
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
´
Scie˙zka
´ Scie˙zka ´scie˙zk ˛ał ˛acz ˛ac ˛a wierzchołki v0i vnnazywamy ci ˛ag (v0,v1, . . . ,vn), taki, ˙ze ka˙zde dwa kolejne wierzchołki, tego ci ˛agu s ˛a poł ˛aczone kraw ˛edzi ˛a
´scie˙zka (1, 2, 3, 4) ł ˛acz ˛ac ˛a wierzchołki 1 i 4:
1 2 3
4 5
6 7
długo´sci ˛a ´scie˙zki nazywamy ilo´s´c kraw ˛edzi na tej
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
´
Scie˙zka
´ Scie˙zka ´scie˙zk ˛ał ˛acz ˛ac ˛a wierzchołki v0i vnnazywamy ci ˛ag (v0,v1, . . . ,vn), taki, ˙ze ka˙zde dwa kolejne wierzchołki, tego ci ˛agu s ˛a poł ˛aczone kraw ˛edzi ˛a
´scie˙zka (1, 2, 3, 4) ł ˛acz ˛ac ˛a wierzchołki 1 i 4:
1 2 3
4 5
6 7
długo´sci ˛a ´scie˙zki nazywamy ilo´s´c kraw ˛edzi na tej ´scie˙zce; powy˙zsza ´scie˙zka ma długo´s´c 3
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Droga
Drogajest to ´scie˙zka, której wszystkie wierzchołki s ˛a ró˙zne
´scie˙zka (1, 2, 3, 6, 7, 3, 4), NIE b ˛ed ˛a drog ˛a, ł ˛acz ˛ac ˛a
wierzchołki 1 i 4: 1 2 3 4 5 6 7
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Droga
Drogajest to ´scie˙zka, której wszystkie wierzchołki s ˛a ró˙zne ´scie˙zka (1, 2, 3, 6, 7, 3, 4), NIE b ˛ed ˛a drog ˛a, ł ˛acz ˛ac ˛a wierzchołki 1 i 4: 1 2 3 4 5 6 7
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Cykl
Cykljest to ´scie˙zka, której pierwszy i ostatni wierzchołek s ˛a takie same
przykładowy cykl długo´sci 4:
1 2 3
4 5
6 7
cykl prosty to cykl na którym wierzchołki si ˛e nie
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Cykl
Cykljest to ´scie˙zka, której pierwszy i ostatni wierzchołek s ˛a takie same
przykładowy cykl długo´sci 4:
1 2 3
4 5
6 7
cykl prosty to cykl na którym wierzchołki si ˛e nie
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Cykl
Cykljest to ´scie˙zka, której pierwszy i ostatni wierzchołek s ˛a takie same
przykładowy cykl długo´sci 4:
1 2 3
4 5
6 7
cykl prosty to cykl na którym wierzchołki si ˛e nie powtarzaj ˛a (nie licz ˛ac pierwszego i ostatniego)
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Stopie ´n wierzchołka
Stopie ´n wierzchołkato liczba wychodz ˛acych z niego kraw ˛edzi
stopie ´n wierzchołka i oznaczamy deg[i] przykładowy graf i stopnie poszczególnych wierzchołków: 1 2 3 4 5 6 7 i 1 2 3 4 5 6 7 deg[i] 1 3 4 2 2 2 2
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Stopie ´n wierzchołka
Stopie ´n wierzchołkato liczba wychodz ˛acych z niego kraw ˛edzi stopie ´n wierzchołka i oznaczamy deg[i]
przykładowy graf i stopnie poszczególnych wierzchołków: 1 2 3 4 5 6 7 i 1 2 3 4 5 6 7 deg[i] 1 3 4 2 2 2 2
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Stopie ´n wierzchołka
Stopie ´n wierzchołkato liczba wychodz ˛acych z niego kraw ˛edzi stopie ´n wierzchołka i oznaczamy deg[i] przykładowy graf i stopnie poszczególnych wierzchołków: 1 2 3 4 5 6 7 i 1 2 3 4 5 6 7 deg[i] 1 3 4 2 2 2 2
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Spójno´s´c
Spójno´s´cgraf nazywamy spójnym, je´sli istnieje ´scie˙zka ł ˛acz ˛aca dowolne dwa jego wierzchołki
przykład grafu spójnego:
1 2 3
4 5
6 7
przykład grafu niespójnego:
1 2 3
4 5
6 7
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Spójno´s´c
Spójno´s´cgraf nazywamy spójnym, je´sli istnieje ´scie˙zka ł ˛acz ˛aca dowolne dwa jego wierzchołki
przykład grafu spójnego:
1 2 3
4 5
6 7
przykład grafu niespójnego:
1 2 3
4 5
6 7
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Spójno´s´c
Spójno´s´cgraf nazywamy spójnym, je´sli istnieje ´scie˙zka ł ˛acz ˛aca dowolne dwa jego wierzchołki
przykład grafu spójnego:
1 2 3
4 5
6 7
przykład grafu niespójnego:
1 2 3
4 5
6 7
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Multigrafy
Multigrafto graf w którym par ˛e wierzchołków mo˙ze ł ˛aczy´c wi ˛ecej ni˙z jedna kraw ˛ed´z (tzw. kraw˛edzie wielokrotne):
1 2 3
4 5
6 7
lub zawieraj ˛acy kraw ˛ed´z ł ˛acz ˛ac ˛a wierzchołek z samym
sob ˛a (tzw. p˛etla): 1 2 3 4 5 6 7
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Multigrafy
Multigrafto graf w którym par ˛e wierzchołków mo˙ze ł ˛aczy´c wi ˛ecej ni˙z jedna kraw ˛ed´z (tzw. kraw˛edzie wielokrotne):
1 2 3
4 5
6 7
lub zawieraj ˛acy kraw ˛ed´z ł ˛acz ˛ac ˛a wierzchołek z samym sob ˛a (tzw. p˛etla): 1 2 3 4 5 6 7
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Digrafy
Digraf — graf skierowany
to graf którego kraw ˛edzie s ˛a skierowane, czyli posiadaj ˛a wyró˙zniony pocz ˛atek i koniec
skierowanie mo˙ze przykładowo oznacza´c, ˙ze dana droga jest jednokierunkowa
przykładowy digraf: 1 2 3 4 5 6 7 nowa definicja ´scie˙zki
(2, 3, 6)NIE jest ´scie˙zk ˛a (2, 5, 4, 3, 6) jest ´scie˙zk ˛a
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Digrafy
Digraf — graf skierowany
to graf którego kraw ˛edzie s ˛a skierowane, czyli posiadaj ˛a wyró˙zniony pocz ˛atek i koniec
skierowanie mo˙ze przykładowo oznacza´c, ˙ze dana droga jest jednokierunkowa
przykładowy digraf: 1 2 3 4 5 6 7 nowa definicja ´scie˙zki
(2, 3, 6)NIE jest ´scie˙zk ˛a (2, 5, 4, 3, 6) jest ´scie˙zk ˛a
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Digrafy
Digraf — graf skierowany
to graf którego kraw ˛edzie s ˛a skierowane, czyli posiadaj ˛a wyró˙zniony pocz ˛atek i koniec
skierowanie mo˙ze przykładowo oznacza´c, ˙ze dana droga jest jednokierunkowa
przykładowy digraf: 1 2 3 4 5 6 7
nowa definicja ´scie˙zki
(2, 3, 6)NIE jest ´scie˙zk ˛a (2, 5, 4, 3, 6) jest ´scie˙zk ˛a
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Digrafy
Digraf — graf skierowany
to graf którego kraw ˛edzie s ˛a skierowane, czyli posiadaj ˛a wyró˙zniony pocz ˛atek i koniec
skierowanie mo˙ze przykładowo oznacza´c, ˙ze dana droga jest jednokierunkowa
przykładowy digraf: 1 2 3 4 5 6 7 nowa definicja ´scie˙zki
(2, 3, 6)NIE jest ´scie˙zk ˛a (2, 5, 4, 3, 6) jest ´scie˙zk ˛a
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Digrafy
Digraf — graf skierowany
to graf którego kraw ˛edzie s ˛a skierowane, czyli posiadaj ˛a wyró˙zniony pocz ˛atek i koniec
skierowanie mo˙ze przykładowo oznacza´c, ˙ze dana droga jest jednokierunkowa
przykładowy digraf: 1 2 3 4 5 6 7 nowa definicja ´scie˙zki
(2, 3, 6)NIE jest ´scie˙zk ˛a (2, 5, 4, 3, 6) jest ´scie˙zk ˛a
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Digrafy
Digraf — graf skierowany
to graf którego kraw ˛edzie s ˛a skierowane, czyli posiadaj ˛a wyró˙zniony pocz ˛atek i koniec
skierowanie mo˙ze przykładowo oznacza´c, ˙ze dana droga jest jednokierunkowa
przykładowy digraf: 1 2 3 4 5 6 7 nowa definicja ´scie˙zki
(2, 3, 6)NIE jest ´scie˙zk ˛a (2, 5, 4, 3, 6) jest ´scie˙zk ˛a
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Drzewa
Przykładowe drzewo 1 2 3 4 5 6 7 Drzewo to grafspójny niezawieraj ˛acy cykli prostych (tzw.
acykliczny)
w którym dokładnie jedna droga ł ˛aczy ka˙zd ˛a par ˛e
wierzchołków
spójny, ale usuni ˛ecie dowolnej kraw ˛edzi rozspójnia go
wszystkie powy˙zsze definicje s ˛a równowa˙zne!
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Drzewa
Przykładowe drzewo 1 2 3 4 5 6 7 Drzewo to grafspójny niezawieraj ˛acy cykli prostych (tzw. acykliczny)
w którym dokładnie jedna droga ł ˛aczy ka˙zd ˛a par ˛e
wierzchołków
spójny, ale usuni ˛ecie dowolnej kraw ˛edzi rozspójnia go
wszystkie powy˙zsze definicje s ˛a równowa˙zne!
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Drzewa
Przykładowe drzewo 1 2 3 4 5 6 7 Drzewo to grafspójny niezawieraj ˛acy cykli prostych (tzw. acykliczny)
w którym dokładnie jedna droga ł ˛aczy ka˙zd ˛a par ˛e wierzchołków
spójny, ale usuni ˛ecie dowolnej kraw ˛edzi rozspójnia go
wszystkie powy˙zsze definicje s ˛a równowa˙zne!
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Drzewa
Przykładowe drzewo 1 2 3 4 5 6 7 Drzewo to grafspójny niezawieraj ˛acy cykli prostych (tzw. acykliczny)
w którym dokładnie jedna droga ł ˛aczy ka˙zd ˛a par ˛e wierzchołków
spójny, ale usuni ˛ecie dowolnej kraw ˛edzi rozspójnia go
wszystkie powy˙zsze definicje s ˛a równowa˙zne!
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Drzewa
Przykładowe drzewo 1 2 3 4 5 6 7 Drzewo to grafspójny niezawieraj ˛acy cykli prostych (tzw. acykliczny)
w którym dokładnie jedna droga ł ˛aczy ka˙zd ˛a par ˛e wierzchołków
spójny, ale usuni ˛ecie dowolnej kraw ˛edzi rozspójnia go wszystkie powy˙zsze definicje s ˛a równowa˙zne!
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Drzewa
Przykładowe drzewo 1 2 3 4 5 6 7 Drzewo to grafspójny niezawieraj ˛acy cykli prostych (tzw. acykliczny)
w którym dokładnie jedna droga ł ˛aczy ka˙zd ˛a par ˛e wierzchołków
spójny, ale usuni ˛ecie dowolnej kraw ˛edzi rozspójnia go wszystkie powy˙zsze definicje s ˛a równowa˙zne!
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Drzewa
Drzewo rozpinaj ˛ace
drzewo A rozpina graf B, wtw. gdy V (A) = V (B) i E (A) ⊂ E (B) przykład: 1 2 3 4 5 6 7
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Drzewa
Drzewo rozpinaj ˛ace
drzewo A rozpina graf B, wtw. gdy V (A) = V (B) i E (A) ⊂ E (B) przykład: 1 2 3 4 5 6 7
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Drzewa
Przykładowe drzewo ukorzenione
1 2 3 4 5 6 Definicje
drzewo ukorzenione to drzewo, którego jeden z wierzchołków został wyszczególniony (tzw. korze´n)
ojcemwierzchołka v nazywamy najbli˙zszy wierzchołek
na ´scie˙zce od v do korzenia
synemwierzchołka v nazywamy dowolny wierzchołek,
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Drzewa
Przykładowe drzewo ukorzenione
1 2 3 4 5 6 Definicje
drzewo ukorzenione to drzewo, którego jeden z wierzchołków został wyszczególniony (tzw. korze´n) ojcemwierzchołka v nazywamy najbli˙zszy wierzchołek na ´scie˙zce od v do korzenia
synemwierzchołka v nazywamy dowolny wierzchołek,
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia
Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Drzewa
Przykładowe drzewo ukorzenione
1 2 3 4 5 6 Definicje
drzewo ukorzenione to drzewo, którego jeden z wierzchołków został wyszczególniony (tzw. korze´n) ojcemwierzchołka v nazywamy najbli˙zszy wierzchołek na ´scie˙zce od v do korzenia
synemwierzchołka v nazywamy dowolny wierzchołek, którego ojcem jest v
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Przykładowe problemy grafowe
Graf 1 2 3 4 5 6 7 Problemy grafowe
czy istnieje ´scie˙zk ˛a ł ˛acz ˛aca 1 i 5?
jaka jest najkrótsza ´scie˙zka ł ˛acz ˛aca 1 i 5?
czy graf jest spójny? czy graf jest acykliczny?
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Przykładowe problemy grafowe
Graf 1 2 3 4 5 6 7 Problemy grafowe
czy istnieje ´scie˙zk ˛a ł ˛acz ˛aca 1 i 5?
jaka jest najkrótsza ´scie˙zka ł ˛acz ˛aca 1 i 5?
czy graf jest spójny? czy graf jest acykliczny?
Odpowied´z
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Przykładowe problemy grafowe
Graf 1 2 3 4 5 6 7 Problemy grafowe
czy istnieje ´scie˙zk ˛a ł ˛acz ˛aca 1 i 5?
jaka jest najkrótsza ´scie˙zka ł ˛acz ˛aca 1 i 5?
czy graf jest spójny? czy graf jest acykliczny?
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Przykładowe problemy grafowe
Graf 1 2 3 4 5 6 7 Problemy grafowe
czy istnieje ´scie˙zk ˛a ł ˛acz ˛aca 1 i 5?
jaka jest najkrótsza ´scie˙zka ł ˛acz ˛aca 1 i 5?
czy graf jest spójny? czy graf jest acykliczny?
Odpowied´z
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Przykładowe problemy grafowe
Graf 1 2 3 4 5 6 7 Problemy grafowe
czy istnieje ´scie˙zk ˛a ł ˛acz ˛aca 1 i 5?
jaka jest najkrótsza ´scie˙zka ł ˛acz ˛aca 1 i 5? czy graf jest spójny?
czy graf jest acykliczny?
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Przykładowe problemy grafowe
Graf 1 2 3 4 5 6 7 Problemy grafowe
czy istnieje ´scie˙zk ˛a ł ˛acz ˛aca 1 i 5?
jaka jest najkrótsza ´scie˙zka ł ˛acz ˛aca 1 i 5? czy graf jest spójny?
czy graf jest acykliczny?
Odpowied´z
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Przykładowe problemy grafowe
Graf 1 2 3 4 5 6 7 Problemy grafowe
czy istnieje ´scie˙zk ˛a ł ˛acz ˛aca 1 i 5?
jaka jest najkrótsza ´scie˙zka ł ˛acz ˛aca 1 i 5? czy graf jest spójny?
czy graf jest acykliczny?
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Przykładowe problemy grafowe
Graf 1 2 3 4 5 6 7 Problemy grafowe
czy istnieje ´scie˙zk ˛a ł ˛acz ˛aca 1 i 5?
jaka jest najkrótsza ´scie˙zka ł ˛acz ˛aca 1 i 5? czy graf jest spójny?
czy graf jest acykliczny?
Odpowied´z
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Reprezentacje grafu
Reprezentacje grafukonieczno´s´c przyj ˛ecia jakiego´s sposobu opisywania grafów na wej´sciu
reprezentacja w programie:
macierz s ˛asiedztwa listy s ˛asiedztwa
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Reprezentacje grafu
Reprezentacje grafukonieczno´s´c przyj ˛ecia jakiego´s sposobu opisywania grafów na wej´sciu
reprezentacja w programie:
macierz s ˛asiedztwa listy s ˛asiedztwa
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Reprezentacje grafu
Reprezentacje grafukonieczno´s´c przyj ˛ecia jakiego´s sposobu opisywania grafów na wej´sciu
reprezentacja w programie:
macierz s ˛asiedztwa listy s ˛asiedztwa
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Reprezentacje grafu
Reprezentacje grafukonieczno´s´c przyj ˛ecia jakiego´s sposobu opisywania grafów na wej´sciu
reprezentacja w programie:
macierz s ˛asiedztwa listy s ˛asiedztwa
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Reprezentacje grafu
Graf 1 2 3 4 5 6 7 Opis grafu 78 2 1 2 3 3 4 4 5 5 2 3 6 . . .Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Reprezentacje grafu
Graf 1 2 3 4 5 6 7 Opis grafu 78 2 1 2 3 3 4 4 5 5 2 3 6 . . .Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Reprezentacje grafu
Graf 1 2 3 4 5 6 7 Opis grafu 7 8 2 1 2 3 3 4 4 5 5 2 3 6 . . .Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Reprezentacje grafu
Graf 1 2 3 4 5 6 7 Opis grafu 7 8 2 1 2 3 3 4 4 5 5 2 3 6 . . .Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Macierz s ˛
asiedztwa
Graf 1 2 3 4 5 6 7Jego macierz s ˛asiedztwa
1 2 3 4 5 6 7 1 0 1 0 0 0 0 0 2 1 0 1 0 1 0 0 3 0 1 0 1 0 1 1 4 0 0 1 0 1 0 0 5 0 1 0 1 0 0 0 6 0 0 1 0 0 0 1 7 0 0 1 0 0 1 0
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Macierz s ˛
asiedztwa
Graf 1 2 3 4 5 6 7Jego macierz s ˛asiedztwa
1 2 3 4 5 6 7 1 0 1 0 0 0 0 0 2 1 0 1 0 1 0 0 3 0 1 0 1 0 1 1 4 0 0 1 0 1 0 0 5 0 1 0 1 0 0 0 6 0 0 1 0 0 0 1 7 0 0 1 0 0 1 0
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Macierz s ˛
asiedztwa
Graf 1 2 3 4 5 6 7Jego macierz s ˛asiedztwa
1 2 3 4 5 6 7 1 0 1 0 0 0 0 0 2 1 0 1 0 1 0 0 3 0 1 0 1 0 1 1 4 0 0 1 0 1 0 0 5 0 1 0 1 0 0 0 6 0 0 1 0 0 0 1 7 0 0 1 0 0 1 0
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Implementacja
ImplementacjaKod programu tworz ˛acego reprezentacj ˛e grafu w postaci macierzy s ˛asiedztwa znajduje si ˛e w notatkach.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Listy s ˛
asiedztwa
Graf 1 2 3 4 5 6 7Jego listy s ˛asiedztwa
1: 2 2: 1 5 3 3: 2 5 4 6 4: 3 5 5: 2 4 6: 7 3 7: 3 6
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Listy s ˛
asiedztwa
Graf 1 2 3 4 5 6 7Jego listy s ˛asiedztwa
1: 2 2: 1 5 3 3: 2 5 4 6 4: 3 5 5: 2 4 6: 7 3 7: 3 6
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Implementacja
ImplementacjaKod programu tworz ˛acego reprezentacj ˛e grafu w postaci list s ˛asiedztwa znajduje si ˛e w notatkach.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Przeszukiwanie grafu
Przeszukiwanie grafuto poruszanie si ˛e od wierzchołka do wierzchołka wzdłu˙z kraw ˛edzi
przypomina to odkrywanie labiryntu
wiele algorytmów grafowych u˙zywa takiego modelu post ˛epowania
2 podstawowe rodzaje przeszukiwa ´n:
DFS BFS
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Przeszukiwanie grafu
Przeszukiwanie grafuto poruszanie si ˛e od wierzchołka do wierzchołka wzdłu˙z kraw ˛edzi
przypomina to odkrywanie labiryntu
wiele algorytmów grafowych u˙zywa takiego modelu post ˛epowania
2 podstawowe rodzaje przeszukiwa ´n:
DFS BFS
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Przeszukiwanie grafu
Przeszukiwanie grafuto poruszanie si ˛e od wierzchołka do wierzchołka wzdłu˙z kraw ˛edzi
przypomina to odkrywanie labiryntu
wiele algorytmów grafowych u˙zywa takiego modelu post ˛epowania
2 podstawowe rodzaje przeszukiwa ´n:
DFS BFS
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Przeszukiwanie grafu
Przeszukiwanie grafuto poruszanie si ˛e od wierzchołka do wierzchołka wzdłu˙z kraw ˛edzi
przypomina to odkrywanie labiryntu
wiele algorytmów grafowych u˙zywa takiego modelu post ˛epowania
2 podstawowe rodzaje przeszukiwa ´n:
DFS BFS
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Strategia jeste´s w komnacie Kje´sli z K istnieje korytarz do komnaty, w której jeszcze nie byłe´s, to przejd´z do tej komnaty
je´sli takiego korytarza nie ma, to wró´c korytarzem, którym po raz pierwszy wszedłe´s do K
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Strategia jeste´s w komnacie Kje´sli z K istnieje korytarz do komnaty, w której jeszcze nie byłe´s, to przejd´z do tej komnaty
je´sli takiego korytarza nie ma, to wró´c korytarzem, którym po raz pierwszy wszedłe´s do K
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Strategia jeste´s w komnacie Kje´sli z K istnieje korytarz do komnaty, w której jeszcze nie byłe´s, to przejd´z do tej komnaty
je´sli takiego korytarza nie ma, to wró´c korytarzem, którym po raz pierwszy wszedłe´s do K
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Odkrywanie labiryntu
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
DFSPrzedstawiony schemat nosi nazw ˛e DFS (deapth-first search), czyli przeszukiwania w gł ˛ab.
Jak zapisa´c to na komputerze?
Aby zbada´c wierzchołek K :
oznacz K jako odwiedzony
zbadaj rekurencyjnie wszystkie nieodwiedzone
wierzchołki s ˛asiaduj ˛ace z K
Cho´c mo˙ze to wygl ˛ada´c zaskakuj ˛aco, powy˙zszy algorytm to
ten sam schemat post ˛epowania. Spójrzmy na przykład raz jeszcze.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
DFSPrzedstawiony schemat nosi nazw ˛e DFS (deapth-first search), czyli przeszukiwania w gł ˛ab.
Jak zapisa´c to na komputerze?
Aby zbada´c wierzchołek K : oznacz K jako odwiedzony
zbadaj rekurencyjnie wszystkie nieodwiedzone
wierzchołki s ˛asiaduj ˛ace z K
Cho´c mo˙ze to wygl ˛ada´c zaskakuj ˛aco, powy˙zszy algorytm to
ten sam schemat post ˛epowania. Spójrzmy na przykład raz jeszcze.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
DFSPrzedstawiony schemat nosi nazw ˛e DFS (deapth-first search), czyli przeszukiwania w gł ˛ab.
Jak zapisa´c to na komputerze?
Aby zbada´c wierzchołek K : oznacz K jako odwiedzony
zbadaj rekurencyjnie wszystkie nieodwiedzone wierzchołki s ˛asiaduj ˛ace z K
Cho´c mo˙ze to wygl ˛ada´c zaskakuj ˛aco, powy˙zszy algorytm to
ten sam schemat post ˛epowania. Spójrzmy na przykład raz jeszcze.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
DFSPrzedstawiony schemat nosi nazw ˛e DFS (deapth-first search), czyli przeszukiwania w gł ˛ab.
Jak zapisa´c to na komputerze?
Aby zbada´c wierzchołek K : oznacz K jako odwiedzony
zbadaj rekurencyjnie wszystkie nieodwiedzone wierzchołki s ˛asiaduj ˛ace z K
Cho´c mo˙ze to wygl ˛ada´c zaskakuj ˛aco, powy˙zszy algorytm to ten sam schemat post ˛epowania. Spójrzmy na przykład raz jeszcze.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)? Drzewo rozpinaj ˛ace całego grafu.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)? Drzewo rozpinaj ˛ace całego grafu.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)? Drzewo rozpinaj ˛ace całego grafu.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)? Drzewo rozpinaj ˛ace całego grafu.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)? Drzewo rozpinaj ˛ace całego grafu.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)? Drzewo rozpinaj ˛ace całego grafu.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)? Drzewo rozpinaj ˛ace całego grafu.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)? Drzewo rozpinaj ˛ace całego grafu.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)? Drzewo rozpinaj ˛ace całego grafu.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)? Drzewo rozpinaj ˛ace całego grafu.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)? Drzewo rozpinaj ˛ace całego grafu.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)? Drzewo rozpinaj ˛ace całego grafu.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)? Drzewo rozpinaj ˛ace całego grafu.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)? Drzewo rozpinaj ˛ace całego grafu.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)? Drzewo rozpinaj ˛ace całego grafu.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)?
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Przykład 8 1 2 3 4 5 6 7 ZagadkaCo tworz ˛a kraw ˛edzie po których przeszli´smy (pogrubione)? Drzewo rozpinaj ˛ace całego grafu.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Implementacja
ImplementacjaGrafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Analiza zło˙zono´sci czasowej
ka˙zdy wierzchołek raz odwiedzamy i oznaczamy jako odwiedzony — O(|V |)
dla ka˙zdego wierzchołka musimy przejrze´c wszystkich
jego s ˛asiadów; ile to trwa? To ju˙z zale˙zy od
reprezentacji grafu:
w przypadku macierzy s ˛asiedztwa: O(|V |) dla jednego wierzchołka, czyli ł ˛acznie O(|V |2)
w przypadku list s ˛asiedztwa: O(deg[K ]) dla jednego wierzchołka, czyli ł ˛acznie O(|E |)
Podsumowuj ˛ac, zło˙zono´s´c czasowa algorytmu DFS
wynosi O(|V |2)dla grafu w postaci macierzy
s ˛asiedztwa i O(|E | + |V |) dla grafu w postaci list
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Analiza zło˙zono´sci czasowej
ka˙zdy wierzchołek raz odwiedzamy i oznaczamy jako odwiedzony — O(|V |)
dla ka˙zdego wierzchołka musimy przejrze´c wszystkich jego s ˛asiadów; ile to trwa? To ju˙z zale˙zy od
reprezentacji grafu:
w przypadku macierzy s ˛asiedztwa: O(|V |) dla jednego wierzchołka, czyli ł ˛acznie O(|V |2)
w przypadku list s ˛asiedztwa: O(deg[K ]) dla jednego wierzchołka, czyli ł ˛acznie O(|E |)
Podsumowuj ˛ac, zło˙zono´s´c czasowa algorytmu DFS
wynosi O(|V |2)dla grafu w postaci macierzy
s ˛asiedztwa i O(|E | + |V |) dla grafu w postaci list
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Analiza zło˙zono´sci czasowej
ka˙zdy wierzchołek raz odwiedzamy i oznaczamy jako odwiedzony — O(|V |)
dla ka˙zdego wierzchołka musimy przejrze´c wszystkich jego s ˛asiadów; ile to trwa? To ju˙z zale˙zy od
reprezentacji grafu:
w przypadku macierzy s ˛asiedztwa: O(|V |) dla jednego wierzchołka, czyli ł ˛acznie O(|V |2)
w przypadku list s ˛asiedztwa: O(deg[K ]) dla jednego wierzchołka, czyli ł ˛acznie O(|E |)
Podsumowuj ˛ac, zło˙zono´s´c czasowa algorytmu DFS
wynosi O(|V |2)dla grafu w postaci macierzy
s ˛asiedztwa i O(|E | + |V |) dla grafu w postaci list
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Analiza zło˙zono´sci czasowej
ka˙zdy wierzchołek raz odwiedzamy i oznaczamy jako odwiedzony — O(|V |)
dla ka˙zdego wierzchołka musimy przejrze´c wszystkich jego s ˛asiadów; ile to trwa? To ju˙z zale˙zy od
reprezentacji grafu:
w przypadku macierzy s ˛asiedztwa: O(|V |) dla jednego wierzchołka, czyli ł ˛acznie O(|V |2)
w przypadku list s ˛asiedztwa: O(deg[K ]) dla jednego wierzchołka, czyli ł ˛acznie O(|E |)
Podsumowuj ˛ac, zło˙zono´s´c czasowa algorytmu DFS
wynosi O(|V |2)dla grafu w postaci macierzy
s ˛asiedztwa i O(|E | + |V |) dla grafu w postaci list
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS
Analiza zło˙zono´sci czasowej
ka˙zdy wierzchołek raz odwiedzamy i oznaczamy jako odwiedzony — O(|V |)
dla ka˙zdego wierzchołka musimy przejrze´c wszystkich jego s ˛asiadów; ile to trwa? To ju˙z zale˙zy od
reprezentacji grafu:
w przypadku macierzy s ˛asiedztwa: O(|V |) dla jednego wierzchołka, czyli ł ˛acznie O(|V |2)
w przypadku list s ˛asiedztwa: O(deg[K ]) dla jednego wierzchołka, czyli ł ˛acznie O(|E |)
Podsumowuj ˛ac, zło˙zono´s´c czasowa algorytmu DFS wynosi O(|V |2)dla grafu w postaci macierzy
s ˛asiedztwa i O(|E | + |V |) dla grafu w postaci list s ˛asiedztwa.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS — analiza zło˙zono´sci pami ˛eciowej
Potrzebujemy pami ˛eci na:
tablic ˛e warto´sci logicznych, mówi ˛acych czy odwiedzili´smy dany wierzchołek — O(|V |)
wywołania rekurencyjne — O(|V |)
reprezentacj ˛e grafu; ile ona zajmuje? To ju˙z zale˙zy od reprezentacji grafu:
w przypadku macierzy s ˛asiedztwa: O(|V |) dla jednego wierzchołka, czyli ł ˛acznie O(|V |2)
w przypadku list s ˛asiedztwa: O(deg[K ]) dla jednego wierzchołka, czyli ł ˛acznie O(|E |)
Podsumowuj ˛ac, zło˙zono´s´c pami ˛eciowa algorytmu DFS
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS — analiza zło˙zono´sci pami ˛eciowej
Potrzebujemy pami ˛eci na:
tablic ˛e warto´sci logicznych, mówi ˛acych czy odwiedzili´smy dany wierzchołek — O(|V |) wywołania rekurencyjne — O(|V |)
reprezentacj ˛e grafu; ile ona zajmuje? To ju˙z zale˙zy od reprezentacji grafu:
w przypadku macierzy s ˛asiedztwa: O(|V |) dla jednego wierzchołka, czyli ł ˛acznie O(|V |2)
w przypadku list s ˛asiedztwa: O(deg[K ]) dla jednego wierzchołka, czyli ł ˛acznie O(|E |)
Podsumowuj ˛ac, zło˙zono´s´c pami ˛eciowa algorytmu DFS
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS — analiza zło˙zono´sci pami ˛eciowej
Potrzebujemy pami ˛eci na:
tablic ˛e warto´sci logicznych, mówi ˛acych czy odwiedzili´smy dany wierzchołek — O(|V |) wywołania rekurencyjne — O(|V |)
reprezentacj ˛e grafu; ile ona zajmuje? To ju˙z zale˙zy od reprezentacji grafu:
w przypadku macierzy s ˛asiedztwa: O(|V |) dla jednego wierzchołka, czyli ł ˛acznie O(|V |2)
w przypadku list s ˛asiedztwa: O(deg[K ]) dla jednego wierzchołka, czyli ł ˛acznie O(|E |)
Podsumowuj ˛ac, zło˙zono´s´c pami ˛eciowa algorytmu DFS
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS — analiza zło˙zono´sci pami ˛eciowej
Potrzebujemy pami ˛eci na:
tablic ˛e warto´sci logicznych, mówi ˛acych czy odwiedzili´smy dany wierzchołek — O(|V |) wywołania rekurencyjne — O(|V |)
reprezentacj ˛e grafu; ile ona zajmuje? To ju˙z zale˙zy od reprezentacji grafu:
w przypadku macierzy s ˛asiedztwa: O(|V |) dla jednego wierzchołka, czyli ł ˛acznie O(|V |2)
w przypadku list s ˛asiedztwa: O(deg[K ]) dla jednego wierzchołka, czyli ł ˛acznie O(|E |)
Podsumowuj ˛ac, zło˙zono´s´c pami ˛eciowa algorytmu DFS
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS — analiza zło˙zono´sci pami ˛eciowej
Potrzebujemy pami ˛eci na:
tablic ˛e warto´sci logicznych, mówi ˛acych czy odwiedzili´smy dany wierzchołek — O(|V |) wywołania rekurencyjne — O(|V |)
reprezentacj ˛e grafu; ile ona zajmuje? To ju˙z zale˙zy od reprezentacji grafu:
w przypadku macierzy s ˛asiedztwa: O(|V |) dla jednego wierzchołka, czyli ł ˛acznie O(|V |2)
w przypadku list s ˛asiedztwa: O(deg[K ]) dla jednego wierzchołka, czyli ł ˛acznie O(|E |)
Podsumowuj ˛ac, zło˙zono´s´c pami ˛eciowa algorytmu DFS
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
DFS — analiza zło˙zono´sci pami ˛eciowej
Potrzebujemy pami ˛eci na:
tablic ˛e warto´sci logicznych, mówi ˛acych czy odwiedzili´smy dany wierzchołek — O(|V |) wywołania rekurencyjne — O(|V |)
reprezentacj ˛e grafu; ile ona zajmuje? To ju˙z zale˙zy od reprezentacji grafu:
w przypadku macierzy s ˛asiedztwa: O(|V |) dla jednego wierzchołka, czyli ł ˛acznie O(|V |2)
w przypadku list s ˛asiedztwa: O(deg[K ]) dla jednego wierzchołka, czyli ł ˛acznie O(|E |)
Podsumowuj ˛ac, zło˙zono´s´c pami ˛eciowa algorytmu DFS jest taka sama jak czasowa.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Zastosowania algorytmu DFS
ProblemCzy istnieje ´scie˙zka ł ˛acz ˛aca wierzchołki A i B.
Rozwi ˛azanie
Uruchamiamy algorytm DFS z wierzchołka A a nast ˛epnie sprawdzamy czy wierzchołek B jest oznaczony jako odwiedzony.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Zastosowania algorytmu DFS
ProblemCzy istnieje ´scie˙zka ł ˛acz ˛aca wierzchołki A i B.
Rozwi ˛azanie
Uruchamiamy algorytm DFS z wierzchołka A a nast ˛epnie sprawdzamy czy wierzchołek B jest oznaczony jako odwiedzony.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Zastosowania algorytmu DFS
ProblemCzy graf jest spójny?
Rozwi ˛azanie
Uruchamiamy algorytm DFS z dowolnego wierzchołka a nast ˛epnie sprawdzamy czy wszystkie wierzchołki s ˛a oznaczone jako odwiedzone.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Zastosowania algorytmu DFS
ProblemCzy graf jest spójny?
Rozwi ˛azanie
Uruchamiamy algorytm DFS z dowolnego wierzchołka a nast ˛epnie sprawdzamy czy wszystkie wierzchołki s ˛a oznaczone jako odwiedzone.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Zastosowania algorytmu DFS
ProblemZnale´z´c dowoln ˛a ´scie˙zk˛e ł ˛acz ˛ac ˛a wierzchołki A lub B, b ˛ad´z stwierdzi´c, ˙ze taka nie istnieje.
Rozwi ˛azanie
W tym celu, w trakcie działania algorytmu DFS,
zapami ˛etamy dla ka˙zdego wierzchołka v numer wierzchołka z którego wywołali´smy DFS(v). Oznaczymy go ojc[v ] i nazwiemy ojcem wierzchołka v . Sk ˛ad si ˛e wzi ˛eła ta nazwa?. Znajd´zmy ´scie˙zk˛e ł ˛acz ˛ac ˛a 3 i 8 w widzianym ostatnio grafie.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Zastosowania algorytmu DFS
ProblemZnale´z´c dowoln ˛a ´scie˙zk˛e ł ˛acz ˛ac ˛a wierzchołki A lub B, b ˛ad´z stwierdzi´c, ˙ze taka nie istnieje.
Rozwi ˛azanie
W tym celu, w trakcie działania algorytmu DFS,
zapami ˛etamy dla ka˙zdego wierzchołka v numer wierzchołka z którego wywołali´smy DFS(v). Oznaczymy go ojc[v ] i nazwiemy ojcem wierzchołka v . Sk ˛ad si ˛e wzi ˛eła ta nazwa?. Znajd´zmy ´scie˙zk˛e ł ˛acz ˛ac ˛a 3 i 8 w widzianym ostatnio grafie.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Szukanie ´scie˙zki
DFS 8 1 2 3 4 5 6 7 Tablica ojców i 1 2 3 4 5 6 7 8 ojc[i] 7 8 4 6 4 2 4 xGrafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Szukanie ´scie˙zki
DFS 8 1 2 3 4 5 6 7 Tablica ojców i 1 2 3 4 5 6 7 8 ojc[i] 7 8 4 6 4 2 4 xGrafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Szukanie ´scie˙zki
DFS 8 1 2 3 4 5 6 7 Tablica ojców i 1 2 3 4 5 6 7 8 ojc[i] 7 8 4 6 4 2 4 xGrafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Szukanie ´scie˙zki
DFS 8 1 2 3 4 5 6 7 Tablica ojców i 1 2 3 4 5 6 7 8 ojc[i] 7 8 4 6 4 2 4 xGrafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
Szukanie ´scie˙zki
DFS 8 1 2 3 4 5 6 7 Tablica ojców i 1 2 3 4 5 6 7 8 ojc[i] 7 8 4 6 4 2 4 xGrafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
BFS
BFSBFS (breadth-first search), czyli przeszukiwanie wszerz:
zaczynamy od dowolnego wierzchołka K
odwiedzamy wszystkich s ˛asiadów K
odwiedzamy wszystkich s ˛asiadów s ˛asiadów K
odwiedzamy wszystkich s ˛asiadów s ˛asiadów s ˛asiadów
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
BFS
BFSBFS (breadth-first search), czyli przeszukiwanie wszerz:
zaczynamy od dowolnego wierzchołka K
odwiedzamy wszystkich s ˛asiadów K
odwiedzamy wszystkich s ˛asiadów s ˛asiadów K
odwiedzamy wszystkich s ˛asiadów s ˛asiadów s ˛asiadów
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
BFS
BFSBFS (breadth-first search), czyli przeszukiwanie wszerz:
zaczynamy od dowolnego wierzchołka K odwiedzamy wszystkich s ˛asiadów K
odwiedzamy wszystkich s ˛asiadów s ˛asiadów K
odwiedzamy wszystkich s ˛asiadów s ˛asiadów s ˛asiadów
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
BFS
BFSBFS (breadth-first search), czyli przeszukiwanie wszerz:
zaczynamy od dowolnego wierzchołka K odwiedzamy wszystkich s ˛asiadów K
odwiedzamy wszystkich s ˛asiadów s ˛asiadów K
odwiedzamy wszystkich s ˛asiadów s ˛asiadów s ˛asiadów
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
BFS
BFSBFS (breadth-first search), czyli przeszukiwanie wszerz:
zaczynamy od dowolnego wierzchołka K odwiedzamy wszystkich s ˛asiadów K
odwiedzamy wszystkich s ˛asiadów s ˛asiadów K
odwiedzamy wszystkich s ˛asiadów s ˛asiadów s ˛asiadów K . . .
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
BFS
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
BFS
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
BFS
Przykład 8 1 2 3 4 5 6 7Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
BFS
KolejkaPrzejdziemy teraz do dokładniejszego opisu algorytmu BFS. B ˛edzie on korzystał z kolejki FIFO, wi ˛ec jest to dobry moment, aby j ˛a przypomnie´c.
Grafy - Wpro-wadzenie
Wst ˛ep
Podstawowe poj ˛ecia Rodzaje grafów Problemy grafowe Reprezentacje grafu Przeszukiwanie grafu Wst ˛ep DFS BFS Problemy
BFS
Jak to zapisa´c na komputerze?
tworzymy pust ˛a kolejk˛e
wrzucamy do niej dowolny wierzchołek dopóki kolejka nie jest pusta
wyci ˛agnij wierzchołek z kolejki (oznaczmy go v ) rozpatrz ka˙zdego s ˛asiada v i je´sli nie był jeszcze wrzucony do kolejki, to wrzu´c go do kolejki