1 / 8

Dijkstra algoritmus

Dijkstra algoritmus. Algoritmus és adatszerkezet 2010. Tavaszi félév. Feladat:. Keressük meg egy irányított gráfban a legrövidebb utakat egy adott csúcsból kiindulva. Az élek súlya pozitív érték. ∞. ∞. 3. A. D. 3. 4. 1. 2. E. 0. S. 5. ∞. 2. 2. B. C. 7. ∞. ∞. 1. lépés.

lala
Download Presentation

Dijkstra algoritmus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dijkstra algoritmus Algoritmus és adatszerkezet 2010. Tavaszi félév Tóth Norbert

  2. Feladat: • Keressük meg egy irányított gráfban a legrövidebb utakat egy adott csúcsból kiindulva. Az élek súlya pozitív érték. ∞ ∞ 3 A D 3 4 1 2 E 0 S 5 ∞ 2 2 B C 7 ∞ ∞

  3. 1. lépés Keressük meg a legkisebb csúcsot, ez lesz a kezdőpont. Ebből a pontból minden lehetséges úton elindulva eljutunk a szomszédjaihoz. A szomszéd csúcsok indexben szereplő értékét átállítjuk a csúcshoz vezető él értékére. 4 ∞ 3 A D 3 4 1 2 E 0 S 5 ∞ 2 2 B C 7 2 ∞

  4. Azok közül a csúcsok közül, ahova eljutottunk, kiválasztjuk a kisebbet és elindulunk a szomszédjaiba. Ha olyan csúcshoz jutunk, ahol már jártunk előzőleg (a csúcs indexe nem végtelen, hanem a kezdőpontból a pontba vezető élek összege), akkor megvizsgáljuk, hogy a jelenlegi érték kisebb-e mint a csúcsból kiinduló új út összege. Ha igen, átállítjuk az index értékét. 3 7 3 A D 3 4 1 2 E 0 S 5 ∞ 2 2 B C 7 2 9

  5. Vizsgáljuk a D csúcsba futó élek súlyát! 3 3 6 6 3 3 Vizsgáljuk az E csúcsba futó élek súlyát! A A D D 3 3 4 4 1 1 2 2 E E 0 0 S S 5 5 ∞ 9 2 2 2 2 B B C C 7 7 2 2 9 9

  6. 3 3 6 6 3 3 A A D D 3 3 4 4 1 1 2 2 E E 0 0 S S 5 5 9 9 2 2 2 2 B B C C 7 7 2 2 9 9

  7. A teljes gráf bejárásával kijelölhetünk egy feszítőfát, amely meghatározza a kezdőcsúcsból kiinduló legrövidebb utat. 3 6 3 A D 3 4 1 2 E 0 S 5 9 A Dijkstra-algoritmusa futás során a G gráf minden egyes v csúcspontjára nyilvántartja az s csúcspont és v közötti , a futás során addig legrövidebbnek talált út költségét. 2 2 B C 7 2 9

  8. Algoritmus

More Related