Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Algorytm Dijkstry (przykład)

Коpie: 1
Reprezentacja grafów i operacje na grafach na przykładzie algorytmu Dijkstry i algorytmu na odnajdywanie Silnych Spójnych Składowych Temat Opracowali:

Podobne prezentacje


Prezentacja na temat: "Algorytm Dijkstry (przykład)"— Zapis prezentacji:

1 Algorytm Dijkstry (przykład)
Będziemy wyznaczać najkrótsze ścieżki pomiędzy wyróżnionym wierzchołkiem (źródłem), a wszystkimi pozostałymi wierzchołkami w grafie. V = {1,2,3,4,5,6} E = {(1-2,3),(1-4,3),(2-3,2),(3-1,6),(3-6,1),(4-5,1),(5-3,1),(5-6,2),(6-4,3)}

2 Algorytm Dijkstry (przykład CD.)
Tworzymy dwa zbiory S (wierzchołki, dla których są policzone najkrótsze ścieżki) oraz Q (wierzchołki jeszcze nie przetworzone). Zbiór S jest początkowo pusty. Zbiór Q obejmuje wszystkie wierzchołki grafu.

3 Algorytm Dijkstry (przykład KROK 1/7)
Dla każdego wierzchołka v ustawiamy d(v) ← ∞. Dla wybranego wierzchołka vo ustawiamy d(vo)← 0. Ustawiamy również p(v) ← 0. indeks 1 2 3 4 5 6 d(indeks) p(indeks)

4 Algorytm Dijkstry (przykład KROK 2/7)
W zbiorze Q szukamy wierzchołka o najmniejszym d - wierzchołek 1 - przenosimy go do zbioru S. Następnie sprawdzamy wartość d jego sąsiadów (wierzchołki 2 i 4). Jeśli ich d jest większe od kosztu d(1) + w(1,v), to modyfikujemy d i p dla tych wierzchołków. indeks 1 2 3 4 5 6 d(indeks) p(indeks)

5 Algorytm Dijkstry (przykład KROK 3/7)
W zbiorze Q szukamy wierzchołka o najmniejszym d. Są dwa takie wierzchołki: 2 i 4 o d=3. Wybieramy arbitralnie wierzchołek nr 2 i przenosimy go do zbioru S. Wierzchołek 2 posiada tylko jednego sąsiada - 3. Modyfikujemy odpowiednio d[3] i p[3] indeks 1 2 3 4 5 6 d(indeks) p(indeks)

6 Algorytm Dijkstry (przykład KROK 4/7)
W zbiorze Q szukamy wierzchołka o najmniejszym d. Teraz jest to wierzchołek 4 o d[4] = 3. Przenosimy go do zbioru S. Wierzchołek 4 posiada tylko jednego sąsiada - 5. Modyfikujemy odpowiednio d[5] i p[5]. indeks 1 2 3 4 5 6 d(indeks) p(indeks)

7 Algorytm Dijkstry (przykład KROK 5/7)
W zbiorze Q szukamy wierzchołka o najmniejszym d. Jest to wierzchołek 5 o d[5] = 4. Przenosimy go do zbioru S. Wierzchołek 5 posiada dwóch sąsiadów: 3 i 6. Ponieważ d[3]=5 jest takie samo jak d[5] + waga(5-3) = 4+1=5, nie modyfikujemy parametrów d i p dla wierzchołka 3. Do modyfikacji jest tylko wierzchołek 6. indeks 1 2 3 4 5 6 d(indeks) p(indeks)

8 Algorytm Dijkstry (przykład KROK 6/7)
W zbiorze Q szukamy wierzchołka o najmniejszym d. Jest to wierzchołek 3 o d[3] = 5. Przenosimy go do zbioru S. Wierzchołek 3 posiada dwóch sąsiadów: 1 i 6. Ponieważ wierzchołek 1 jest już w zbiorze S, to nie bierzemy go pod uwagę. Drugi wierzchołek posiada d[6]=6, czyli takie samo jak d[3]+waga(3-6)=5+1=6. Nie modyfikujemy zatem wierzchołka 6. indeks 1 2 3 4 5 6 d(indeks) p(indeks)

9 Algorytm Dijkstry (przykład KROK 7/7)
Do zbioru S przenosimy ostatni wierzchołek z Q. Wierzchołek ten nie posiada sąsiadów w Q połączonych z nim krawędzią, dlatego nic nie modyfikujemy. Ponieważ zbiór Q stał się pusty, algorytm kończymy. indeks 1 2 3 4 5 6 d(indeks) p(indeks)


Pobierz ppt "Algorytm Dijkstry (przykład)"

Podobne prezentacje


Reklamy Google