Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Grafy Rodzaje, przechodzenie grafu. Grafy podstawowe definicje Grafem nazywamy strukturę G=(V,E) składającą się ze skończonego i niepustego zbioru wierzchołków.

Podobne prezentacje


Prezentacja na temat: "Grafy Rodzaje, przechodzenie grafu. Grafy podstawowe definicje Grafem nazywamy strukturę G=(V,E) składającą się ze skończonego i niepustego zbioru wierzchołków."— Zapis prezentacji:

1 Grafy Rodzaje, przechodzenie grafu

2 Grafy podstawowe definicje Grafem nazywamy strukturę G=(V,E) składającą się ze skończonego i niepustego zbioru wierzchołków V i zbioru krawędzi E. Krawędź od wierzchołków u do v oznaczamy jako (u,v). Drogą od wierzchołka v 1 do v j nazywamy sekwencję krawędzi: (v 1,v 2 ), (v 2,v 3 ),…, (v n-1,v n ) Dwa wierzchołki v i i v j nazywamy sąsiędnimi, jeżeli w zbiorze D istnieje krawędź (v i,v j ). Taką krawędź nazywamy incydentną do wierzchołków v i, v j. Stopniem wierzchołka v deg(v) – nazywamy liczbę krawędzi do niego incydentnych. Jeśli deg(v)=0 to jest to wierzchołek izolowany.

3 Rodzaje grafów: Grafy proste graf pełny – każdy wierzchołek jest połączony krawędzią z każdym wierzchołkiem

4 Rodzaje grafów: Grafy złożone Multigraf – dwa wierzchołki mogą być połączone kilkoma krawędziami Pseudograf – pojawiają się pętle czyli krawędzie wychodzące z i wchodzące do tego samego wierzchołka

5 Rodzaje grafów: Grafy złożone Graf skierowany – krawędzie, zwane też łukami, spełniają warunek (u,v)(v,u) Graf ważony – gdy krawędziom zostają przyporządkowane liczby – wagi

6 Reprezentacja grafów A B C D E ABCDEABCDE B C D A A D A C Graf Lista sąsiedztwa

7 Reprezentacja grafów A B C D E ABCDEABCDE Macierz sąsiedztwa Macierz incydencji AB AC AD CD ABCDEABCDE

8 Przechodzenie w głąb funkcja dfs() dfs() for wszystkie wierzcholki Visited[v]:=false; Ustaw wskaźnik current[v] na pierwszy wierzchołek na liście L[v] Odwiedz(p); visited[p]=true; If current[p] nie puste Stos pusty; push(stos,p); while stos jest niepusty v=wierzcholek(stos); niech w będzie wierzchołkiem wskazywanym przez current[v] przesuń wskaźnik current[v] do następnego wierzchołka na liście L if current[v]=pusty pop(stos); if not visited[w] odwiedz(w) visited[w]=true; if current[w] różne od nil then push(stos,w)

9 Przechodzenie grafów – wszerz funkcja bfs() bfs() for wszystkie wierzcholki Visited[v]:=false; Ustaw wskaźnik current[v] na pierwszy wierzchołek na liście L[v] Odwiedz(p); visited[p]=true; If current[p] nie puste Kolejka pusta; enqueue(koljka,p); while stos jest niepusty v=początek(kolejka); niech w będzie wierzchołkiem wskazywanym przez current[v] przesuń wskaźnik current[v] do następnego wierzchołka na liście L if current[v]=pusty dequeue(kolejka); if not visited[w] odwiedz(w) visited[w]=true; if current[w] różne od nil then enqueue(kolejka,w)

10 Bibliografia A. Drozdek, C++. Algorytmy i struktury danych, Helion, Gliwice 2004; L. Banachowski, K. Diks, W. Rytter, Algorytmy i struktury danych, WNT, Warszawa1996;


Pobierz ppt "Grafy Rodzaje, przechodzenie grafu. Grafy podstawowe definicje Grafem nazywamy strukturę G=(V,E) składającą się ze skończonego i niepustego zbioru wierzchołków."

Podobne prezentacje


Reklamy Google