Zaawansowane algorytmy i struktury danych/Ćwiczenia 6: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Sank (dyskusja | edycje)
Sank (dyskusja | edycje)
Linia 53: Linia 53:
{{kotwica|zadanie 3|}}
{{kotwica|zadanie 3|}}


Mając dane graf <math>G=(V,E)</math>, funkcję wagową <math>w:E \to \mathcal{R}</math>, odległości <math>d(v)</math> z wybranego wierzchołka <math>s</math> do <math>v</math> w grafie <math>G</math>, zaproponuj algorytm obliczania [[Wykład 5#drzewo_najkrótszych_ścieżek|drzewa najkrótszych ścieżek]] w czasie <math>O(|E|).</math>
Mając dane graf <math>G=(V,E)</math>, funkcję wagową <math>w:E \to \mathcal{R}</math>, odległości <math>d(v)</math> z wybranego wierzchołka <math>s</math> do <math>v</math> w grafie <math>G</math>, zaproponuj algorytm obliczania [[../Wykład 5#drzewo_najkrótszych_ścieżek|drzewa najkrótszych ścieżek]] w czasie <math>O(|E|).</math>




<div class="mw-collapsible mw-made=collapsible mw-collapsed"> '''Wskazówka'''   
<div class="mw-collapsible mw-made=collapsible mw-collapsed">'''Wskazówka'''   
<div class="mw-collapsible-content" style="display:none">
<div class="mw-collapsible-content" style="display:none">



Wersja z 22:06, 27 lip 2006

Zadanie 1

Pokaż, że iloczyn odległości jest przemienny względem dodawania, tzn, że dla macierzy C, D i E rozmiaru n×nzachodzi:


C×min(D+E)=C×minD+C×minE,


oraz


(D+E)×minC=D×minC+E×minC.
Wskazówka

Zadanie 2


Zaproponuj jak wykorzystać algorytm Bellmana-Forda do sprawdzenia, czy w grafie G=(V,E) i wagach krawędzi opisanych funkcją w:E istnieje cykl o ujemnej wadze.

Rozwiązanie


Zadanie 3

Mając dane graf G=(V,E), funkcję wagową w:E, odległości d(v) z wybranego wierzchołka s do v w grafie G, zaproponuj algorytm obliczania drzewa najkrótszych ścieżek w czasie O(|E|).


Wskazówka