ALG 6
256 Rozdział 10. Elementy algorytmiki grali!
Brak możliwości odtworzenia optymalnej drogi jest dość istotną wadą, ! gdyż o ile w przypadku małych grafów (takich jak ten z rysunku 10 - 9) możemy ją ewentualnie odczytać sami, to przy naprawdę dużych grafach jest to ] praktycznie niewykonalne.
Potrzebna nam jest zatem jakaś prosta modyfikacja algorytmu Floyda, która nie zmieniając jego zasadniczej idei, umożliwi zapamiętanie drogi.
Jak się okazuje, rozwiązanie nie jest trudne. Do oryginalnego algorytmu (patrz I listing wyżej) należy wprowadzić następującą poprawkę:
if( g[i][k)+g[k]tj]<g[i][j])
(
g[i] [j1=g t i] [k]+g[k] [j] ;
R [ i] (j]=k;
>
Optymalna droga będzie zapamiętywana w matrycy kierowania ruchem R. Czytelnikowi nie powinno sprawić zbytniego kłopotu napisanie procedury, która odtwarza znajdującą się w niej drogę. Załóżmy, że początkowo matryca R jest wyzerowana. Aby odtworzyć optymalną drogę od wierzchołka i do wierzchołka /, patrzymy na wartość P[i][j]- Jeśli jest ona równa zero, to mamy do czynienia z przypadkiem elementarnym, tzn. z krawędzią, którą należy przejść. Jeśli nie, to droga wiedzie od / do P[i][j] i następnie od P[i][j] do /. Z uwagi na to. że powyższe dwie „pod-drogi” mogą nie być elementarne, łatwo zauważyć rekurcncyjny charakter procedury.
Liczę na to. że Czytelnik nie będzie miał kłopotów z jej stworzeniem... w ramach pożytecznego ćwiczenia!
Wyszukiwarka
Podobne podstrony:
ALG$6 246 Rozdział 10. Elementy algorytmiki gratów Ta historyczna anegdota stanowi jednocześnie doskALG 8 258 Rozdział 10. Elementy algorytmiki grafa 1 Rys. 10- 10. Przeszukiwanie grafu „ w głąb ListuALG&0 260 Rozdział 10. Elementy algorytmiki grafów przebadane podczas przeszukiwania. Dopiero potemALG&4 264 Rozdział 10. Elementy algorytmiki gratów Używając danych z rysunku 10 - 14, algorytm mógłbALG3 Przedmowa 13Rozdział 10 Elementy algorytmiki grafów Opis jednej z najciekawszych struktur danyALG 2 252 warshall.cppRozdział 10, Elementy algorytmiki grafów Jest możliwe udowodnienie, że domknięALG3 Rozdział 3Analiza sprawności algorytmów Podstawowe kryteria pozwalające na wybór właściwego alALG!6 216 Rozdział 8. Przeszukiwanie tekslói8.2.2.Algorytm Boyera i Moore’a Kolejny algorytm, któryPrzedmowa .13Rozdział 10 Elementy algorytmiki grafów Opis jednej z najciekawszych struktur danychALG6 66 Rozdział 3. Analiza sprawności algorytmów return pos; else //element zostALG$8 248 RozdziałłO. Elementy algorytmiki gratów10.2.Sposoby reprezentacji grafów Poznane uprzednioALG 0 250 RozdziaMO. Elementy algorytmiki gratów ( z-O; while(l) // pętla nieskończona I if(z==n)ALG 4 254 RozdziaMO. Elementy algorylmiki jiafa if<R[y][z)==0 &&ALG&2 262 RozdziaMO, Elementy algorylmiki grafów Dlaczego jest on rozwiązywany przy pomocy grafów? CALG&6 266 RozdziaHO. Elementy algorytmiki grafów • Promotor 4 porzuca swój aktualn453 2 453 Rozdział 1 10. Wzór rekurencyjny: 4>(,+ l +>-.= !/(/»■+ 1). Algorytm y0 = łln 5, ,v«ALG4 54 Rozdział 3. Analiza sprawności algorytmów Tematyką tego rozdziału jest tzw. złożoność oblicALG6 56 Rozdział 3. Analiza sprawności algorytmów jest intuicyjnie bardzo proste, dalej będziemy użwięcej podobnych podstron