Najkrótsza ścieżka w grafie Algorytm Dijkstry

Slides:



Advertisements
Podobne prezentacje
ALGORYTMY I STRUKTURY DANYCH
Advertisements

TRADYCYJNE METODY PLANOWANIA I ORGANIZACJI PROCESÓW PRODUKCYJNYCH
Algorytmy sortowania i porządkowania
Modelowanie zależności ekspresji genów
Schemat blokowy M START KONIEC
DOMINOWANIE W GRAFACH Magdalena Lemańska.
Grafy spełniające nierówność Γ(G) < IR(G)
Grafy o średnicy 2 i dowolnej liczbie dominowania
Grażyna Mirkowska PJWSTK, 10 stycznia 2001
ALGORYTMY GRAFOWE.
Dynamiczne struktury danych Listy, Kolejki, Stosy
Grażyna Mirkowska PJWSTK 15 listopad 2000
Grafy inaczej, czyli inne modele grafów
Algorytmy – zapis struktur programowania
Wykład 6 Najkrótsza ścieżka w grafie z jednym źródłem
Minimalne drzewa rozpinające
Algorytm Dijkstry (przykład)
TEMAT: Tworzenie prostych tabel
ALGORYTMY I STRUKTURY DANYCH
-skeletony w przestrzeniach R 2 i R 3 Mirosław Kowaluk Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski.
Geometria obliczeniowa Wykład 2
ALGORYTMY GEOMETRYCZNE.
WYKŁAD 2. Kolorowanie wierzchołków
WYKŁAD 7. Spójność i rozpięte drzewa
WYKŁAD 3. Kliki i zbiory niezależne
Promotor: dr inż. Leszek Koszałka Autor: Markuszewski Kamil
Algorytmy grafowe Reprezentacja w pamięci
Komputerowa analiza sieci genowych (GRN)
Komputerowa analiza sieci genowych (GRN) Agnieszka Marmołowska Jacek Ławrynowicz Promotor: prof. Krzysztof Giaro.
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak
ALGORYTMY I STRUKTURY DANYCH
WYKŁAD 7. Spójność i rozpięte drzewa Graf jest spójny, gdy dla każdego podziału V na dwa rozłączne podzbiory A i B istnieje krawędź z A do B. Definicja.
Przepływy w sieciach. Twierdzenie minimaksowe.
Algorytmy i struktury danych
Algorytmy i Struktury Danych Sortowanie
Operacje na strukturach listowych
SKIEROWANE Marek Bil Krzysztof Fitrzyk Krzysztof Godek.
Graf - jest to zbiór wierzchołków, który na rysunku przedstawiamy za pomocą kropek oraz krawędzi łączących wierzchołki. Czasami dopuszcza się krawędzie.
Algorytmy i struktury danych
Geometria obliczeniowa Wykład 3
Reprezentacja grafów i operacje na grafach na przykładzie algorytmu Dijkstry i algorytmu na odnajdywanie Silnych Spójnych Składowych Temat Opracowali:
Listy, stosy i kolejki..
formalnie: Algorytmy genetyczne i wstęp do algorytmów ewolucyjnych
Rodzaje, przechodzenie grafu
3. SPOSOBY REPREZENTACJI GRAFÓW
Tablice w Turbo Pascalu.
INSTRUKCJE Umożliwiają zapis algorytmu, służą do sterowania przebiegiem programu. warunkowe (podejmowanie decyzji) 1. if-else „jeżeli”, 2. switch-case.
Algorytm Dijkstry 1 Zbiory: T - zbiór wierzchołków
Algorytmy i Struktury Danych
Algorytmy i Struktury Danych
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
ALGORYTMY I STRUKTURY DANYCH WYKŁAD 03 cd. Wyszukiwanie Grażyna Mirkowska PJWSTK, 2003/2004.
Geometria obliczeniowa Wykład 13 Planowanie ruchu 1.Znajdywanie ścieżki między dwoma punktami. 2.Ruch postępowy robota wielokątnego na płasz- czyźnie.
Geometria obliczeniowa Wykład 12 Planowanie ruchu 1.Najkrótsza ścieżka między dwoma punktami. 2.Znajdywanie ścieżki między dwoma punktami. 3.Ruch postępowy.
Algorytmy i Struktury Danych Grafy
Algorytmy grafowe Minimalne drzewa rozpinające
Geometria obliczeniowa Wykład 2
Grafy.
Modelowanie matematyczne – złożoność obliczeniowa, teoria a praktyka
ALGORYTMY I STRUKTURY DANYCH
STOS. STL (ang. Standard Template Library) jest to biblioteka zawierająca algorytmy, pojemniki, iteratory oraz inne konstrukcje w formie szablonów, gotowe.
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
Model matematyczny przydziału częstotliwości w sieciach komórkowych
Algorytm Dijkstry Podano graf Zdefiniowano jego listę sąsiedztwa 1 2 3
Definicja problemu: (P2 | pi = 1, prec | Cmax)
Algorytmy i struktury danych
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
Zarządzanie projektem – ścieżka krytyczna
Zapis prezentacji:

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

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;

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

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

Przykład 1 2 3 4 5 6 8 wierzch. Nr j przed iter.   popj tj 1  0 2  ∞ 3 ∞ 4 8 1+3=4 5 - 6 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ść

Przykład tj =2, j=3 1 2 3 4 5 6 8 wierzch. Nr j przed iter. popj tj 1   popj tj 1  0 2  ∞ 3 ∞ 4 8 2+1 5 - 2+2 6

Przykład tj =3, j=4 1 2 3 4 5 6 8 wierzch. Nr j przed iter. popj tj 1   popj tj 1  0 2  ∞ 3 ∞ 4 8 5 - 6 3+8=11

Przykład tj =3, j=4 2 1 3 5 8 4 6 1 1 3 3 5 2 2 2 wierzch. Nr j przed iter.   popj tj 1  0 2  ∞ 3 ∞ 4 8 5 - 6 11 4+2

Przykład 1 2 3 4 5 6 8 wierzch. Nr j przed iter. popj tj 1 0 2 ∞ 3 ∞ 4   popj tj 1  0 2  ∞ 3 ∞ 4 8 5 - 6

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