29.10.2012 Views

SIMON STARČEK, prof. mat. IZGRADNJA OBJEKTNEGA KATALOGA

SIMON STARČEK, prof. mat. IZGRADNJA OBJEKTNEGA KATALOGA

SIMON STARČEK, prof. mat. IZGRADNJA OBJEKTNEGA KATALOGA

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Starček, S. 2010. Izgradnja objektnega kataloga digitalne navigacijske baze za učinkovito navigacijo intervencijskih vozil. 111<br />

Mag. delo. Ljubljana, UL, FGG, Odd. za geodezijo, smer: geodezija.<br />

grafu dolţina najkrajše poti. Razdalje v grafu lahko izračunamo na več načinov. Uporabimo<br />

lahko algoritem za računanje razdalj od izbranega vozlišča do vseh ostalih z algoritmom<br />

iskanja v širino (DFS). Časovna zahtevnost algoritma je , vse razdalje v grafu<br />

izračunamo v času , če algoritem izvedemo iz vsakega od vozlišč. Posplošitev<br />

algoritma, ki deluje na omreţjih (grafi s pozitivnimi uteţmi na povezavah), imenujemo<br />

Dijkstrov algoritem.<br />

Osnovna operacija Dijkstrovega algoritma je sprostitev vozlišč. Če obstaja povezava od u do<br />

v, potem je lahko najkrajša znana pot od s do u s tem, da ji na koncu dodamo povezavo (u, v),<br />

razširjena na pot od s do v. Ta pot je dolţine d[u] + w(u, v). Če je ta vrednost manjša kot d[v],<br />

lahko ponastavimo trenutno vrednost d[v] z vrednostjo d[u] + w(u, v). Sprostitev povezav<br />

izvajamo dokler vse vrednosti d[v] ne predstavljajo najkrajšo pot iz s do v. Algoritem deluje<br />

tako, da je vsaka povezava (u, v) sproščena le enkrat, to je v trenutku, ko jo dodajamo<br />

(Cormen et al., 2009).<br />

Dijkstrov algoritem uporablja dve mnoţici vozlišč. Mnoţica vozlišč S, kjer je najkrajša pot ţe<br />

določena, ter mnoţico preostalih vozlišč Q = V – S. Z drugimi besedami, Q je mnoţica<br />

nepovezanih, S pa mnoţica povezanih vozlišč. Mnoţici S na začetku priredimo vrednot<br />

prazne mnoţice. Ob vsakem koraku ji dodamo po eno vozlišče, ki se istočasno izbriše iz<br />

mnoţice Q. Ko je vozlišče u dodano v mnoţico S, algoritem sprosti vse povezave (u, v), ki<br />

vodijo iz prej povezanega vozlišča u.<br />

Psevdokoda Dijkstrovega algoritma:<br />

Dijkstra(G,w,s)<br />

preglej (G,s)<br />

{}<br />

dokler<br />

izloči minimalni element iz<br />

za vsako vozlišče, ki je sosednje<br />

sprosti(u,v,w)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!