Sprawdź się
Pokaż ćwiczenia:
Ćwiczenie 1
Wynik działania algorytmu Dijkstry dla każdego grafu skierowanego będzie poprawny.
Ćwiczenie 2
Wynik działania algorytmu Dijkstry dla każdego grafu będzie poprawny.
Ćwiczenie 3
Zapoznaj się z pseudokodem.
Linia 1. Dijkstra otwórz nawias okrągły lista podkreślnik sąsiedztwa przecinek s zamknij nawias okrągły dwukropek.
Linia 2. S ← utwórz pustą tablicę.
Linia 3. V ← utwórz tablicę i wypełnij ją wierzchołkami.
Linia 4. d ← utwórz pustą tablicę.
Linia 5. p ← utwórz pustą tablicę.
Linia 7. dla każdego elementu u w tablicy V dwukropek.
Linia 8. d otwórz nawias kwadratowy u zamknij nawias kwadratowy ← ∞.
Linia 9. p otwórz nawias kwadratowy u zamknij nawias kwadratowy ← minus 1.
Linia 11. d otwórz nawias kwadratowy s zamknij nawias kwadratowy ← 0.
Linia 13. dopóki długość otwórz nawias okrągły V zamknij nawias okrągły zamknij nawias ostrokątny 0 dwukropek.
Linia 14. najkrótsza podkreślnik ścieżka ← ∞.
Linia 15. u ← minus 1.
Linia 17. dla każdego elementu v w tablicy V dwukropek.
Linia 18. jeśli najkrótsza podkreślnik ścieżka zamknij nawias ostrokątny d otwórz nawias kwadratowy v zamknij nawias kwadratowy dwukropek.
Linia 19. najkrótsza podkreślnik ścieżka ← d otwórz nawias kwadratowy v zamknij nawias kwadratowy.
Linia 20. u ← v.
Linia 22. S ← umieść element u na końcu tablicy.
Linia 23. V ← usuń element u z tablicy.
Linia 25. dla każdego elementu v w tablicy lista podkreślnik sąsiadów otwórz nawias kwadratowy u zamknij nawias kwadratowy dwukropek.
Linia 26. jeśli d otwórz nawias kwadratowy v zamknij nawias kwadratowy zamknij nawias ostrokątny d otwórz nawias kwadratowy u zamknij nawias kwadratowy plus w otwórz nawias okrągły u przecinek v zamknij nawias okrągły dwukropek.
Linia 27. d otwórz nawias kwadratowy v zamknij nawias kwadratowy ← d otwórz nawias kwadratowy u zamknij nawias kwadratowy plus w otwórz nawias okrągły u przecinek v zamknij nawias okrągły.
Linia 28. p otwórz nawias kwadratowy v zamknij nawias kwadratowy ← u.
Linia 30. zwróć d przecinek p.
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Ćwiczenie 4

Zapoznaj się z ilustracją pewnego grafu.
d i p, które może zwrócić algorytm Dijkstry dla zaprezentowanego grafu skierowanego.Ćwiczenie 5
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
A, wskaż grafy, dla których algorytm Dijkstry nie zwróci poprawnego wyniku.Ćwiczenie 6
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
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

Ćwiczenie 7
s = E. Wskaż poprzednika, jeśli u = A.Ćwiczenie 8
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.