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 wierzch. Nr j przed iter. popjtjpopjtjpopjtjpopjtjpopjtj

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 wierzch. Nr j przed iter. popjtj

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ść wierzch. Nr j przed iter. popjtjpopjtj =

6 Przykład tj =2, j= wierzch. Nr j przed iter. popjtjpopjtjpopjtj po pjtjpopjtj

7 Przykład tj =3, j= wierzch. Nr j przed iter. popjtjpopjtjpopjtj po pjtj pop jtj =11

8 Przykład tj =3, j= wierzch. Nr j przed iter. popjtjpopjtjpopjtj po pjtjpopjtj

9 Przykład wierzch. Nr j przed iter. popjtjpopjtjpopjtjpopjtjpopjtj

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