Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Grafy Najkrótsza ścieżka w grafie Algorytm Dijkstry.

Podobne prezentacje


Prezentacja na temat: "Grafy Najkrótsza ścieżka w grafie Algorytm Dijkstry."— Zapis prezentacji:

1 Grafy Najkrótsza ścieżka w grafie Algorytm Dijkstry

2 Najkrótsza ścieżka w grafie Algorytm Dijkstry algorytmDijkstry(ważony prosty digraf, wierzchołek pierwszy) for wszystkich wierzchołków v aktOdległość(pierwszy)=0; doSprawdzenia=wszystkie wierzchołki; while doSprawdzenia nie jest pusty v=wierzchołek z doSprawdzenia o minimalnej wartości aktOdległość(v); usuń v z doSprawdzenia; for wszystkich wierzchołków u siąsiadujących z v i będących w doSprawdzenia if aktOdległość(u)>aktOdległość(v)+waga(krawęź(vu)) aktOdległość(u=aktOdległość(v)+waga(krawęź(vu)); poprzednik(u)=v;

3 Przykład Start 1 – koniec 6 j – wierzchołek tj – tymczasowa droga minimalna do wierz. j popj – wierzcholek poprzedni do wierz. j 1 2 3 4 5 6 1 8 2 1 3 2 3 5 2 wierzch. Nr j przed iter. popjtjpopjtjpopjtjpopjtjpopjtj 1 0 2 3 4 5 6

4 Przykład Szukamy sąsiadów dla wierzchołka 1 W tabelce w tj wpisujemy wartość drogi tymczasowej. W kolumnie popj wpisujemy etykietę wierzchołka poprzedniego. 1 2 3 4 5 6 1 8 2 1 3 2 3 5 2 wierzch. Nr j przed iter. popjtj 1 0 2 10+1 310+2 410+8 5 6

5 Przykład Wybieramy wartość najmniejszą w tj i wierzchołek usuwamy ze zbioru doSprawdzenia i szukamy sąsiadów tego wierzchołka Tam gdzie się nic nie zmienia przepisujemy poprzednią wartość 1 2 3 4 5 6 1 8 2 1 3 2 3 5 2 wierzch. Nr j przed iter. popjtjpopjtj 1 0 2 11 31212 41821+3=4 5 -- 6--

6 Przykład tj =2, j=3 1 2 3 4 5 6 1 8 2 1 3 2 3 5 2 wierzch. Nr j przed iter. popjtjpopjtjpopjtj po pjtjpopjtj 1 0 2 11 31212 4182432+1 5 --32+2 6---

7 Przykład tj =3, j=4 1 2 3 4 5 6 1 8 2 1 3 2 3 5 2 wierzch. Nr j przed iter. popjtjpopjtjpopjtj po pjtj pop jtj 1 0 2 11 31212 4182433 5 --3434 6---43+8=11

8 Przykład tj =3, j=4 1 2 3 4 5 6 1 8 2 1 3 2 3 5 2 wierzch. Nr j przed iter. popjtjpopjtjpopjtj po pjtjpopjtj 1 0 2 11 31212 4182433 5 --3434 6---41154+2

9 Przykład 1 2 3 4 5 6 1 8 2 1 3 2 3 5 2 wierzch. Nr j przed iter. popjtjpopjtjpopjtjpopjtjpopjtj 1 0 2 11 31212 4182433 5 --3446 6---4858

10 Bibliografia A. Drozdek, C++. Algorytmy i struktury danych, Helion, Gliwice 2004;


Pobierz ppt "Grafy Najkrótsza ścieżka w grafie Algorytm Dijkstry."

Podobne prezentacje


Reklamy Google