I_R_W14_M38_C++ Podejście zachłanne. Najkrótsza droga w grafie
jak działa podejście zachłanne i potrafisz wskazać, w którym momencie algorytm Dijkstry podejmuje lokalnie najlepszą decyzję,
umiesz przeanalizować kolejne kroki algorytmu na grafie ważonym, odczytać wartości w tablicach
diporaz określić, kiedy wierzchołek zostaje oznaczony jako „odwiedzony”,potrafisz przełożyć pseudokod na działający program w C++, uruchomić go na przykładzie i zinterpretować otrzymane wyniki,
wiesz jak zmodyfikować implementację, aby działała dla różnych reprezentacji grafów.
Teraz czas sprawdzić swoją wiedzę i umiejętności w praktyce.
Wynik działania algorytmu Dijkstry dla każdego grafu skierowanego będzie poprawny.
Wynik działania algorytmu Dijkstry dla każdego grafu będzie poprawny.
Zapoznaj się z pseudokodem.
prev[] Możliwe odpowiedzi: 1. wierzchołek dodawany do zbioru S unikalny dla każdej iteracji, 2. zbiór wszystkich wierzchołków grafu, 3. tablica kosztów dojścia do każdego wierzchołka, 4. zbiór wierzchołków, do których najmniejsze koszty dojścia zostały wyznaczone, 5. tablica przechowująca poprzedniki wierzchołków d[] Możliwe odpowiedzi: 1. wierzchołek dodawany do zbioru S unikalny dla każdej iteracji, 2. zbiór wszystkich wierzchołków grafu, 3. tablica kosztów dojścia do każdego wierzchołka, 4. zbiór wierzchołków, do których najmniejsze koszty dojścia zostały wyznaczone, 5. tablica przechowująca poprzedniki wierzchołków u Możliwe odpowiedzi: 1. wierzchołek dodawany do zbioru S unikalny dla każdej iteracji, 2. zbiór wszystkich wierzchołków grafu, 3. tablica kosztów dojścia do każdego wierzchołka, 4. zbiór wierzchołków, do których najmniejsze koszty dojścia zostały wyznaczone, 5. tablica przechowująca poprzedniki wierzchołków S Możliwe odpowiedzi: 1. wierzchołek dodawany do zbioru S unikalny dla każdej iteracji, 2. zbiór wszystkich wierzchołków grafu, 3. tablica kosztów dojścia do każdego wierzchołka, 4. zbiór wierzchołków, do których najmniejsze koszty dojścia zostały wyznaczone, 5. tablica przechowująca poprzedniki wierzchołków V Możliwe odpowiedzi: 1. wierzchołek dodawany do zbioru S unikalny dla każdej iteracji, 2. zbiór wszystkich wierzchołków grafu, 3. tablica kosztów dojścia do każdego wierzchołka, 4. zbiór wierzchołków, do których najmniejsze koszty dojścia zostały wyznaczone, 5. tablica przechowująca poprzedniki wierzchołków
Zapoznaj się z ilustracją pewnego grafu.
d i p, które może zwrócić algorytm Dijkstry dla zaprezentowanego grafu skierowanego.A, wskaż grafy, dla których algorytm Dijkstry nie zwróci poprawnego wyniku.Graf składa się z sześciu wierzchołków oznaczonych od A do F. Wierzchołki połączone są krawędziami, tworzacymi sześciokąt. Ponadto dwie krawędzie zostały zaznaczone pomiędzy wierzchołkami wten sposób, że znajdują się w polu sześciokąta. Od wierzchołka A popdorwadzone sa dwie krawędzie do wierzchołka B o długości dziesięć i do wierzchołka C o długości sześć. Od wierzchołka B odchodzą dwie krawędzie. Pierwsza o długości cztery łączy go z wierzhcołkiem E, natomiast druga o długości dwa z wierzchołkiem F.Od wierzchołka C odchodzą dwie krawędzie. Pierwsza o długości siedem łączy wierzchołek C z wierzchołkiem D, natomiast druga o długości pięć z wierzchołkiem F. Warości dla krawędzi łączących odpowiednio wierzchołki D F oraz E F nie podano.
Wskaż długości ścieżek łączących, odpowiednio wierzchołki D F oraz E F, aby algorytm Dijkstry zwrócił następujący wynik:
d = { 6, 7, 0, 7, 6, 5 },
p = { C, F, NULL, C, F, C }Materiał źródłowy do ćwiczeń 7–8

s = E. Wskaż poprzednika, jeśli u = A.s = A. Wskaż poprawną długość najkrótszej ścieżki, jaką należy pokonać, by od wierzchołka s dojść do wierzchołka u = B.Zapisz program z polecenia nr 1, używając wybranego języka programowania.
Działanie programu przetestuj dla następującego grafu:

Specyfikacja problemu:
Dane:
lista_sąsiedztwa– lista sąsiedztwa grafu nieskierowanego o dodatnich wagachs– wierzchołek początkowy grafu
Wynik:
tablica przechowujące najkrótsze ścieżki od wierzchołka
sdo pozostałych wierzchołków oraz tablica przechowująca poprzedniki kolejnych wierzchołków