Dijkstra

Dijkstra : ๊ทธ๋ž˜ํ”„์˜ ์ตœ๋‹จ๊ฑฐ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜(์ถœ๋ฐœ ๋…ธ๋“œ์™€ ๋ชจ๋“  ๋…ธ๋“œ๊ฐ„)

๋ฐ์ด์Šคํฌ๋ผ (Dijkstra)

  • ๊ทธ๋ž˜ํ”„์—์„œ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ๊ธฐ๋Šฅ : ์ถœ๋ฐœ ๋…ธ๋“œ์™€ ๋ชจ๋“  ๋…ธ๋“œ๊ฐ„์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ํƒ์ƒ‰

  • ํŠน์ง• : ์Œ์ˆ˜์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๊ฐ€์ง€๋Š” ๊ฐ„์„ ์ด ์—†๋‹ค -> ์กด์žฌํ•œ๋‹ค๋ฉด ์‚ฌ์šฉ๋ถˆ๊ฐ€๋Šฅ

    • ์Œ์ˆ˜๊นŒ์ง€ ํ•˜๊ณ ์‹ถ์œผ๋ฉด ๋ฒจ๋งŒ-ํฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ์‹œ๊ฐ„ ๋ณต์žก๋„ :

    • ์ธ์ ‘ํ–‰๋ ฌ : O(V2)O(V^2)

    • ์ธ์ ‘๋ฆฌ์ŠคํŠธ : O(Eโˆ—logV)O(E * logV)

      • V : ๋…ธ๋“œ ์ˆ˜

      • E : ์—์ง€ ์ˆ˜

๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ดˆ๊ธฐ์— ์ธ์ ‘ํ–‰๋ ฌ์„ ์‚ฌ์šฉํ–ˆ๊ณ  ์ดํ›„์— ์šฐ์„ ์ˆœ์œ„ ํ(ํž™) ๋“ฑ์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ํƒ„์ƒํ–ˆ๋‹ค. GPS S/W๋‚˜ ๋„คํŠธ์›Œํฌ์—์„œ๋„ ๋งŽ์ด ์‚ฌ์šฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๊ตฌํ˜„๋ถ€๋ถ„์—์„œ ์‹ค์ˆ˜๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒํ•œ๋‹ค.

๊ตฌํ˜„ ๋ฐฉ๋ฒ•

(1)

๋จผ์ € 1๋ฒˆ ์ •์ ์„ ์„ ํƒํ•œ๋‹ค. ์ž๊ธฐ ์ž์‹ ์˜ ๋น„์šฉ์€ 0์œผ๋กœ ์ดˆ๊ธฐํ™” ํ•˜๊ณ  ๋ฐฉ๋ฌธ์„ ์ฒดํฌํ•œ๋‹ค. 1๋ฒˆ ์ •์ ์—์„œ 5, 6๋ฒˆ ์ •์ ์€ ๋ฐ”๋กœ ์ด์–ด์ ธ ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฌดํ•œ๋Œ€(INF)๋กœ ํ‘œ์‹œํ•œ๋‹ค.

(2)

๋ฐฉ๋ฌธํ•œ ๊ณณ(1๋ฒˆ)์—์„œ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ •์  ์ค‘ ๊ฐ€์žฅ ๊ฑฐ๋ฆฌ๊ฐ€ ์งง์€ ์ •์ ์„ ์„ ํƒํ•œ๋‹ค. ๊ฐ€์žฅ ์งง์€ 2๋ฒˆ ์ •์ ์„ ์„ ํƒํ•˜๊ฒŒ ๋˜๋ฉด 1-2-6์ด ์—ฐ๊ฒฐ๋˜๋ฉด์„œ 6์˜ ๋น„์šฉ์ด 12๋กœ ๋ฐ”๋€๋‹ค. 3๋ฒˆ ์ •์ ๊นŒ์ง€๋„ 1-2-3์œผ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ธฐ์กด์˜ ๋น„์šฉ 5๊ฐ€ 2๋ฒˆ์„ ํ†ตํ•ด ๊ฐ€๋Š” 7๋ณด๋‹ค ์ž‘๊ธฐ ๋•Œ๋ฌธ์— ๋น„์šฉ์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€์‹œํ‚จ๋‹ค.

(3)

๋‹ค์‹œ, 1๊ณผ ์—ฐ๊ฒฐ๋œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด๊ฑฐ๋ฆฌ 4๋ฒˆ์„ ๋ฐฉ๋ฌธํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ •์ ๋“ค์˜ ๋น„์šฉ์„ ๊ฐฑ์‹ ํ•œ๋‹ค.

์ด๊ฒƒ์„ ๊ณ„์† ๋ฐ˜๋ณตํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.

Last updated