Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Przeszukiwanie wszerz BFS(G, s) 1 for każdy wierzchołek u  V[G]-{s} 10 do u := head[Q] 2do color[u] := BIAŁY 11 for każdy v  Adj[u] 3d[u] :=  12 do.

Podobne prezentacje


Prezentacja na temat: "Przeszukiwanie wszerz BFS(G, s) 1 for każdy wierzchołek u  V[G]-{s} 10 do u := head[Q] 2do color[u] := BIAŁY 11 for każdy v  Adj[u] 3d[u] :=  12 do."— Zapis prezentacji:

1 Przeszukiwanie wszerz BFS(G, s) 1 for każdy wierzchołek u  V[G]-{s} 10 do u := head[Q] 2do color[u] := BIAŁY 11 for każdy v  Adj[u] 3d[u] :=  12 do if color[v] = BIAŁY 4  [u] := NIL 13 then color[v] := SZARY 5color[s] := SZARY 14 d[v] := d[u] + 1 6d[s] := 0 15  [v] := u 7  [s] := NIL 16 ENQUEUE(Q, v) 8Q := {s} 17 DEQUEUE(Q) 9while Q   18 color[u] := CZARNY

2 Przykład przeszukiwania wszerz     0 Q   1 1  0 Q Q  Q Q Q

3 Przeszukiwanie w głąb DFS(G) DFS-Visit(u) 1 for każdy wierzchołek u  V[G] 1 color[u] := SZARY 2do color[u] := BIAŁY 2 d[u] := time := time  [u] := NIL 3 for każdy v  Adj[u] 4time := 0 4 do if color[v] = BIAŁY 5for każdy wierzchołek u  V[G] 5 then  [v] := u 6 do if color[u] = BIAŁY 6 DFS-Visit(v) 7then DFS-Visit(u) 7 color[u] := CZARNY 8f[u] := time := time + 1

4 Przykład przeszukiwania w głąb / 2/ / 2/3/ 4/ / 2/ 3/6 4/ / 3/6 4/5 2/7 8/ /103/6 4/5 2/7 8/ /103/6 4/5 2/7 8/911/12

5 Sortowanie topologiczne Sortowanie topologiczne acyklicznego grafu skierowanego G = (V, E) polega na uporządkowaniu wszystkich jego wierzchołków w taki sposób, że jeśli graf G zawiera krawędź (u, v), to w tym porządku wierzchołek u występuje przed wierzchołkiem v. Topological-Sort (G) 1 wykonaj DFS(G) w celu obliczenia czasów przetworzenia f[v] dla wszystkich wierzchołków v. 2 wstaw każdy wierzchołek v na początek listy, kiedy tylko zostanie przetworzony. 3return lista wierzchołków

6 Przykład sortowania topologicznego /103/6 4/5 2/7 8/911/12 1/ /9 2 2/73/64/5 36

7 Silnie spójne składowe Silnie spójną składową skierowanego grafu G = (V, E) jest maksymalny zbiór wierzchołków U  V taki, że dla każdej pary wierzchołków u i v z U wierzchołki u i v są osiągalne jeden z drugiego. Strongly-Connected-Components (G) 1wykonaj DFS(G) w celu obliczenia czasów przetworzenia f[u] dla wszystkich wierzchołków u. 2 oblicz G T 3 wykonaj DFS(G T ), ale w głównej pętli procedury DFS rozważaj wierzchołki w kolejności malejących wartości f[u] (obliczonych w wierszu 1) 4 wypisz wierzchołki z każdego drzewa w lesie przeszukiwania w głąb z kroku 3 jako oddzielną silnie spójną składową

8 Silnie spójne składowe, przykład abe fg cd h a g b d f 13/14 2/7 11/16 3/4 12/15 8/9 5/6 c e h 1/10 a g b d f c e h


Pobierz ppt "Przeszukiwanie wszerz BFS(G, s) 1 for każdy wierzchołek u  V[G]-{s} 10 do u := head[Q] 2do color[u] := BIAŁY 11 for każdy v  Adj[u] 3d[u] :=  12 do."

Podobne prezentacje


Reklamy Google