Professional Documents
Culture Documents
BFS-analiza
DFS algoritam
Predstavljanje grafova
BFS algoritam
Grafovski algoritmi
Overviev
BFS-analiza
DFS algoritam
Predstavljanje grafova
BFS algoritam
Lista susedstva
Overviev
BFS-analiza
DFS algoritam
Predstavljanje grafova
BFS algoritam
Overviev
BFS-analiza
DFS algoritam
Predstavljanje grafova
BFS algoritam
Matrica susedstva
1,
0,
(i, j) E
u protivnom
Overviev
BFS-analiza
DFS algoritam
Predstavljanje grafova
BFS algoritam
Overviev
BFS-analiza
DFS algoritam
Predstavljanje grafova
BFS algoritam
Overviev
BFS-analiza
DFS algoritam
Predstavljanje grafova
BFS algoritam
Opis:
Ako su (u, v) E i ako je c vor u crn, c or v je ili siv ili crn, to
znaci da su svi susedni c vorovi crnog c vora vec otkriveni. Sivi
c vorovi za susede mogu imati i bele c vorove.
BFS algoritam pretraivanja konstruie, takozvano, prvo po
irini stablo inicijalizovano u izvornom c voru s.
Overviev
BFS-analiza
DFS algoritam
Predstavljanje grafova
BFS algoritam
Kaemo
da je u prethodnik, roditelj c vora v u stablu.
Cvor
se otkriva samo jedan put, pa svaki c vor moe imati
najvie jednog roditelja. Veze sa prethodnikom i sledbenikm u
prvom po irini stablu definisane su u odnosu na koren s: ako je
c vor u na putu od s do c vora v, onda je u prethodnik od v i v je
sledbenik od u.
BFS procedura podrazumeva da je ulazni graf G = (V, E)
predstavljen listama susedstva.
Overviev
BFS-analiza
DFS algoritam
Predstavljanje grafova
BFS algoritam
Overviev
BFS-analiza
DFS algoritam
Predstavljanje grafova
BFS algoritam
Overviev
BFS-analiza
DFS algoritam
Predstavljanje grafova
BFS algoritam
Overviev
BFS-analiza
DFS algoritam
Predstavljanje grafova
BFS algoritam
Overviev
BFS-analiza
DFS algoritam
putevi
Najkraci
BFS-analiza
Napomena:
Pre nego to dokaemo razlicite osobine BFS pretraivanja,
analiziracemo njegovo prolazno vreme na ulaznom grafu
G = (V, E).
Posle inicijalizacije svaki je c vor smeten u kju najvie jednom.
Operacije ENQUEUE i DEQUEUE uzimaju O (1) vremena, pa je
kompletno vreme posveceno kju operacijama O (V).
Obzirom da selistasusedstva svakog c vora skenira samo kada
se c vor ukloni iz kjua, svaka se lista susedstva skenira najvie
jednom. Suma duina svih listi je O (E), odakle je jasno da je
prolazno vreme BFS algoritma O (V+E).
Overviev
BFS-analiza
DFS algoritam
putevi
Najkraci
Najkraci putevi
Definicija:
Definisacemo distancu najkraceg puta (s, v) izmedju c vorova s
i v kao minimalni broj grana na proizvoljnom putu iz s u v.
Ako put iz s u v ne postoji stavicemo (s, v) = .
Put duine (s, v) iz s u v je najkraci put.
Pokazacemo da distanca koju racuna BFS jeste upravo
distanca najkraceg puta.
Lema 1:
Neka je G = (V, E) usmeren ili neusmeren graf i s V proizvoljan c vor. Tada za granu (u, v) E vai (s, v) 6 (s, u) + 1.
Overviev
BFS-analiza
DFS algoritam
putevi
Najkraci
Overviev
BFS-analiza
DFS algoritam
putevi
Najkraci
Lema 2:
Neka je G = (V, E) usmeren ili neusmeren graf i pretpostavimo
da BFS prolazi kroz G od izvornog c vora s V. Tada, za
svaki c vor v V vrednost v.d koja se izracunava algoritmom
ogranicava odozgo (s, v), tj.v.d > (s, v).
Dokaz: Koristimo indukciju po broju ENQUEUE
operacija.Polazna induktivna pretpostavka je kada ses ukloni iz
kjua. U ovom slucaju je s.d = 0 = (s, s) i v.d = > (s, v),
za svaki v V \ {s}.
Pretpostavimo daje posle vadjenja c vora u iz kjua u.d > (s, u).
Overviev
BFS-analiza
DFS algoritam
putevi
Najkraci
za vreme ispitianja
c vora u. Prema induktivnoj pretpostavci je
u.d > (s, u) i v.d = v.u + 1 > (s, u) + 1 > (s, v).
Cvor
v je umetnutu kju sada i nikad vie, jer je samo sada
obojen u sivo. Zato se vrednost v.d vie ne menja i induktivna
pretpostavka je ocuvana.
Lema 3:
Pretpostavimo da za vreme izvrenja BFSa na grafu G = (V, E)
kju Q sadri c vorove hv1 , v2 , . . . vr i, gde je v1 glava od Q, a vr
rep. Tada je
vr .d 6 v1 .d + 1,
za i {1, 2, . . . r 1}.
vi .d 6 vi+1 .d,
Overviev
BFS-analiza
DFS algoritam
putevi
Najkraci
Overviev
BFS-analiza
DFS algoritam
putevi
Najkraci
Tako dobijamo
vr+1 .d = v.d = u.d + 1 6 v1 .d + 1.
Takodje vai vr .d 6 u.d + 1 = v.d = vr+1 .d.
Posledica:
Pretpostavimo da su za vreme izvrenja BFS algoritma na grafu
G = (V, E) c vorovi vi i vj ubaceni u kju Q i da je vi ubaceno pre
vj . Tada je vi .d 6 vj .d, u vremenu kada je vj ubaceno.
Overviev
BFS-analiza
DFS algoritam
putevi
Najkraci
Teorema:
Neka je G = (V, E) usmeren ili neusmeren graf i da se BFS
izvrava od izvornog c vora s V. Tada BFS otkriva svaki c vor v
dostian iz s i odredjuje distancu v.d = (s, v). tavie, za svaki
c vor v 6= s dostian iz s jedan od najkracih puteva jeste najkraci
put iz s u v. iza koga je grana (v., v).
Dokaz izvodimo kontrapozicijom. Pretpostavimo da postoji c vor
c ija distanca v.d u BFSu nije jednaka distanci najkraceg puta i
neka je v prvi c vor za koji je v.d > (s, v). Znaci da v mora biti
dostian iz s, jer je, u protivnom, (s, v) = > v.d. Neka je u
neposredni prethodnik od v.
Overviev
BFS-analiza
DFS algoritam
putevi
Najkraci
Overviev
BFS-analiza
DFS algoritam
putevi
Najkraci
Overviev
BFS-analiza
DFS algoritam
Overviev
BFS-analiza
DFS algoritam
Overviev
BFS-analiza
DFS algoritam
Overviev
BFS-analiza
DFS algoritam
Overviev
BFS-analiza
DFS algoritam
Overviev
BFS-analiza
DFS algoritam
Overviev
BFS-analiza
DFS algoritam
|Adj[v]| = O (E),
vV