์ต๋จ ๊ฒฝ๋ก
๊ทธ๋ํ์์ ์ ๋๋๋ ๋ฌธ์ ๋ค ์ค ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ ๊ฐ ์๋ค. ์ฃผ์ด์ง ๊ทธ๋ํ์์ ํน์ ์ ์ ์์ ๋ค๋ฅธ ์ ์ ๊น์ง์ ์ต๋จ ๊ฒฝ๋ก(๊ฐ์ค์น ํฉ์ด ์ต์์ธ ๊ฒฝ๋ก)๊ฐ ๋ฌด์์ธ์ง๋ฅผ ์์๋ด๋ ๋ฌธ์ ์ด๋ค.
์ด๋ ์ด์ ์ MST ๋ฌธ์ ์ ๋ค๋ฅด๋ค. ๋ชจ๋ ์ ์ ์ ํฌํจํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค.
ํ์ง๋ง MST์์ ์ฌ์ฉํ๋ Prim(Dijkstra) ์๊ณ ๋ฆฌ์ฆ์ ์์ฉํด์ ๊ตฌํํ ์ ์๋ค.
[MST]
Dijkstra ์๊ณ ๋ฆฌ์ฆ
๊ตฌํ
vertice(์ ์ )๋ 3๊ฐ์ง ๋ถ๋ฅ๋ก ๋๋๋ค.
- tree vertice(T) : tree์ ์ํด ์๋ ์ ์
- fringe vertice (F) : tree์ ํฌํจ๋์ง ์์ผ๋ฉด์ ์ฐ๊ฒฐ๋์ด์๋ ์ ์
- unseen vertice (U) : ๋๋จธ์ง
MST์์ T์ F์ ์ ์ ์ฌ์ด์ ์ต์ ๊ฐ์ค์น๋ฅผ ๊ณ์ ๊ฐฑ์ ํด์ฃผ์๋ ๊ฒ ๋์ ์, ์ต๋จ ๊ฒฝ๋ก ์๊ณ ๋ฆฌ์ฆ์์๋ ์์ ์ ์ ๋ถํฐ F์ ์ ์ ๊น์ง ๊ฒฝ๋ก๋ฅผ ๊ฐฑ์ ํด์ค๋ค.
F์ ํน์ ์ ์ V๋ฅผ ๋ณด์์ ๋, T-F์ ๊ฐ์ ์ ๋ฐ๋ผ ์์์ ์ ๋ถํฐ V๊น์ง์ ๊ฒฝ๋ก์ ์ต์๊ฐ์ด ํ์ฌ ์ ์ฅ๋์ด์๋ค๊ณ ํ์. ์ด ๋, ๋ค๋ฅธ ์ ์ V'๊ฐ tree์ ํฌํจ๋๋ฉด V'-V ๊ฐ์ ์ ํฌํจ์ผ๋ก ์ด ๊ฐ์ ์ ํตํ ๊ฒฝ๋ก๊ฐ ๊ธฐ์กด์ ์กด์ฌํ๋ ๊ฒฝ๋ก๋ณด๋ค ์งง์์ง ์ ์๋ค. ๋ฐ๋ผ์ ์ด๋ฅผ ๊ฐฑ์ ํด์ฃผ๋ ๊ฒ์ด๋ค.
์์ ์์ ์์ Tree set์ ์์ ์ ์ ์ธ A๋ฐ์ ์์์ ๋, D๊น์ง์ ๊ฒฝ๋ก๋ A-D ๊ฐ์ ์ ๋ฐ๋ผ ๊ฐ์ค์น๊ฐ 3์ด๋ค. ํ์ง๋ง ์ดํ C๊ฐ Tree set์ ํฌํจ๋๋ฉด D๊น์ง์ ๊ฒฝ๋ก๋ A์์ C, C์์ D๋ฅผ ๊ฑฐ์น๋ 1+1 = 2์ ๊ฐ์ค์น๋ฅผ ๊ฐ์ง๋ ๊ฒฝ๋ก๊ฐ ์ต์๊ฐ ๋๋ค.
Comment