1
Pokaż ćwiczenia:
1
Ćwiczenie 1
RKeBneMHltuQI
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
RvylmYNysQGCN
Wskaż wyniki, które algorytm Dijkstry zwróci dla przedstawionego grafu. Za wierzchołek początkowy przyjmujemy wierzchołek 3. Zaznacz wszystkie poprawne odpowiedzi.

Tablice d[] zawierają długości ścieżek do kolejnych wierzchołków, a tablice p[] – poprzedniki tych wierzchołków.
31
Ćwiczenie 2

Napisz program, który dla grafu reprezentowanego przez macierz sąsiedztwa wypisze dwie tablice – najkrótszych ścieżek do danych wierzchołków oraz poprzedników tych wierzchołków.

Działanie programu przetestuj dla następujących danych:

Linia 1. int otwórz nawias kwadratowy zamknij nawias kwadratowy otwórz nawias kwadratowy zamknij nawias kwadratowy macierzSasiedztwa znak równości otwórz nawias klamrowy. Linia 2. otwórz nawias klamrowy 0 przecinek 5 przecinek 4 przecinek 2 przecinek 7 zamknij nawias klamrowy przecinek. Linia 3. otwórz nawias klamrowy 5 przecinek 0 przecinek 1 przecinek 0 przecinek 8 zamknij nawias klamrowy przecinek. Linia 4. otwórz nawias klamrowy 4 przecinek 1 przecinek 0 przecinek 22 przecinek 4 zamknij nawias klamrowy przecinek. Linia 5. otwórz nawias klamrowy 2 przecinek 0 przecinek 22 przecinek 0 przecinek 0 zamknij nawias klamrowy przecinek. Linia 6. otwórz nawias klamrowy 7 przecinek 8 przecinek 4 przecinek 0 przecinek 0 zamknij nawias klamrowy. Linia 7. zamknij nawias klamrowy średnik. Linia 9. int s znak równości 4 średnik.

Specyfikacja problemu:

Dane:

  • s – wierzchołek początkowy grafu

  • macierzSasiedztwa – tablica dwuwymiarowa; macierz sąsiedztwa grafu

  • V – liczba naturalna dodatnia; liczba wierzchołków grafu

Wynik:

  • tablica przechowująca najkrótsze ścieżki od wierzchołka s do pozostałych wierzchołków oraz tablica przechowująca poprzedniki kolejnych wierzchołków

Wynik dla podanych danych:

Linia 1. Wynik algorytmu Dijkstry dwukropek. Linia 2. d otwórz nawias kwadratowy zamknij nawias kwadratowy znak równości otwórz nawias kwadratowy 7 przecinek 5 przecinek 4 przecinek 9 przecinek 0 zamknij nawias kwadratowy. Linia 3. p otwórz nawias kwadratowy zamknij nawias kwadratowy znak równości otwórz nawias kwadratowy 4 przecinek 2 przecinek 4 przecinek 0 przecinek minus 1 zamknij nawias kwadratowy.
R1DQ5xS7JpnoT
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.
31
Ćwiczenie 3

Napisz program, który dla danej tablicy poprzedników grafu wypisze kompletne ścieżki do kolejnych wierzchołków. Ścieżki powinny zaczynać się w wierzchołku początkowym, a kończyć na docelowym.

Działanie programu przetestuj dla następujących danych:

Linia 1. static int otwórz nawias kwadratowy zamknij nawias kwadratowy p znak równości otwórz nawias klamrowy 4 przecinek 2 przecinek 4 przecinek 0 przecinek minus 1 zamknij nawias klamrowy średnik.

Specyfikacja problemu:

Dane:

  • p – tablica poprzedników; tablica liczb całkowitych

  • V – liczba naturalna dodatnia; liczba wierzchołków grafu

Wynik:

  • komunikat dotyczący najkrótszych ścieżek do kolejnych wierzchołków

Wynik dla podanych danych:

Linia 1. Sciezka do 0 dwukropek 4 0. Linia 2. Sciezka do 1 dwukropek 4 2 1. Linia 3. Sciezka do 2 dwukropek 4 2. Linia 4. Sciezka do 3 dwukropek 4 0 3. Linia 5. Sciezka do 4 dwukropek 4.
RcQqJn364Py1r
Wymyśl pytanie na kartkówkę związane z tematem materiału.
31
Ćwiczenie 4

Zmodyfikuj program tak, by algorytm Dijkstry działał dla grafu, którego każda krawędź ma wagę równą 1.

Działanie programu przetestuj dla następujących danych:

Linia 1. static final int otwórz nawias kwadratowy zamknij nawias kwadratowy otwórz nawias kwadratowy zamknij nawias kwadratowy listaSasiedztwa znak równości otwórz nawias klamrowy. Linia 2. otwórz nawias klamrowy 3 przecinek 4 przecinek 1 przecinek 2 przecinek 5 przecinek minus 1 zamknij nawias klamrowy przecinek. Linia 3. otwórz nawias klamrowy 0 przecinek 2 przecinek 4 przecinek 5 przecinek 3 przecinek minus 1 zamknij nawias klamrowy przecinek. Linia 4. otwórz nawias klamrowy 3 przecinek minus 1 przecinek minus 1 przecinek minus 1 przecinek minus 1 przecinek minus 1 zamknij nawias klamrowy przecinek. Linia 5. otwórz nawias klamrowy 5 przecinek minus 1 przecinek minus 1 przecinek minus 1 przecinek minus 1 przecinek minus 1 zamknij nawias klamrowy przecinek. Linia 6. otwórz nawias klamrowy 1 przecinek 2 przecinek minus 1 przecinek minus 1 przecinek minus 1 przecinek minus 1 zamknij nawias klamrowy przecinek. Linia 7. otwórz nawias klamrowy 1 przecinek 2 przecinek minus 1 przecinek minus 1 przecinek minus 1 przecinek minus 1 zamknij nawias klamrowy. Linia 8. zamknij nawias klamrowy średnik. Linia 10. int s znak równości 4 średnik.

Specyfikacja problemu:

Dane:

  • listaSasiedztwa – tablica dwuwymiarowa; lista sąsiedztwa grafu

  • s – wierzchołek początkowy grafu

  • V – liczba naturalna dodatnia; liczba wierzchołków grafu

Wynik:

  • tablica przechowująca najkrótsze ścieżki od wierzchołka s do pozostałych wierzchołków oraz tablica przechowująca poprzedniki kolejnych wierzchołków

Wynik dla podanych danych:

Linia 1. Wynik algorytmu Dijkstry dwukropek. Linia 2. d otwórz nawias kwadratowy zamknij nawias kwadratowy znak równości otwórz nawias klamrowy 2 1 1 2 0 2 zamknij nawias klamrowy. Linia 3. p otwórz nawias kwadratowy zamknij nawias kwadratowy znak równości otwórz nawias klamrowy 1 4 4 1 minus 1 1 zamknij nawias klamrowy.
R1GzFwk63Rmpb
Wymyśl pytanie na kartkówkę związane z tematem materiału.
R9uCikLPk8IBR31
Ćwiczenie 5
Możliwe odpowiedzi: 1. d = [ 0 7 10 10 8 12 10 9 ]
prev = [ -1 3 1 4 1 7 1 0 ], 2. d = [ 0 7 10 10 8 12 10 9 ]
prev = [ -1 0 1 4 1 7 1 0 ], 3. d = [ 0 11 10 10 8 12 10 9 ]
prev = [ -1 0 1 4 1 7 1 0 ], 4. d = [ 12 5 3 2 4 0 4 3 ]
prev = [ 7 4 5 5 3 -1 7 5 ]
1
3
Ćwiczenie 6
R1Hg0lizxV4dc31
Oznacz wagi krawędzi dla przedstawionego grafu, jeśli wiadomo, że algorytm Dijkstry dla pewnego wierzchołka zwrócił następujące wyniki:

d[] = {28, 17, 30, 35, 0, 16}
p[] = {1, 4, 5, 1, -1, 4}

Tablica d[] zawiera długości ścieżek do kolejnych wierzchołków, a tablica p[] – poprzedniki tych wierzchołków.
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
3
Ćwiczenie 6
RiUMFpRjG1lYX