์ง๋ฌธ์ ๋ฐฐ๊ฒฝ
์ต๊ทผ ๋ฉด์ ์คํฐ๋๋ฅผ ์งํ ์ค์ธ๋ฐ์. ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ ํํธ๋ฅผ ์งํํ๋ฉด์ ํธ๋ฆฌ์ ๊ทธ๋ํ์ ์ฐจ์ด, ์ด์ง ํ์ ํธ๋ฆฌ์ ์์ ์ด์ง ํธ๋ฆฌ์ ๋ํ ์ง๋ฌธ์ด ๋์ค๋ฉด์ ์๋คํํ ๋ฐฉํฅ์ฑ์ด๋ ๊ฒ์ด ์๋์ง์ ๋ํ ํ ๋ก ์ ํ๋ต๋๋ค.
๋ช ํํ๊ฒ ๊ฒฐ๋ก ์ด ๋ ์ค ์์๋๋ฐ ๊ตฌ๊ธ๋ง์ ํด ๋ณด๋ ๊ทธ๋ ์ง ์์์ต๋๋ค.
ํ ๋ค์ฏ ๊ฐ ์ ๋์ ๋ธ๋ก๊ทธ์์๋ ๋ฐฉํฅ์ด ์๋ค๊ณ ํ๊ณ , ๋ค ๊ฐ ์ ๋ ๋ธ๋ก๊ทธ์์๋ ๋ฐฉํฅ์ด ์๋ค๊ณ ํ๋๋ผ๊ณ ์. ์ง์ง์์
์ด๋ด ์๊ฐ… ์๋ ์ด๋ฐ Mr.์ ๋งค๋ชจํธ๊ฐ ์ซ์ด์ ์ปดํจํฐ๊ณตํ ์๋ค๊ณ
๊ฒฐ๋ก ์ ํ๋ค๋ฅ ๋ง์๋๋ฆฌ๋๋ก ํ๊ฒ ์ต๋๋ค.
ํธ๋ฆฌ๋ ๋ฐฉํฅ ๊ทธ๋ํ๋ก ๋ณผ ์๋ ์๊ณ , ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ๋ก ๋ณผ ์๋ ์๋ค.
์ด๋ด ๊ฒ ๊ฒฐ๋ก ?
์ ๋๋ค.
์ ๋ง ์ด๋ฐ๋ ๋ถ๋ถ์ด์ฃ ?
์ด์ ์ ๋ํด ์์๋ด ์๋ค.
๊ทธ๋ํ ์ด๋ก ์์์ “ํธ๋ฆฌ”
In graph theory, a tree is an undirected graph in which any two vertices are connected by exactly one path, or equivalently a connected acyclic undirected graph.
์ถ์ฒ๋ ์ํค๋ฐฑ๊ณผ์ ๋๋ค.
ํํ๊ณ ๋ฅผ ๋๋ ค ๋ณด์์ด์.
๊ทธ๋ํ ์ด๋ก ์์ ํธ๋ฆฌ(tree)๋ ์์์ ๋ ๊ผญ์ง์ ์ด ์ ํํ ํ๋์ ๊ฒฝ๋ก๋ก ์ฐ๊ฒฐ๋ ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ ๋๋ ๋๋ฑํ๊ฒ ์ฐ๊ฒฐ๋ ๋น์ํ ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ์ด๋ค.
๊ทธ๋ฌ๋๊น ๊ทธ๋ํ ์ด๋ก ์์์ ํธ๋ฆฌ๋ ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ๊ฐ ๋ง์ต๋๋ค.
ํ์ง๋ง ์ ๋ ์ํ๊ณผ๊ฐ ์๋๋ผ ์ปดํจํฐ๊ณตํ๊ณผ๋ผ์ ๊ทธ๋ฅ tree๊ฐ ์๋๋ผ ์์ ์ด์ง ํธ๋ฆฌ, ์ด์ง ํ์ ํธ๋ฆฌ, ๋ ๋ ๋ธ๋ ํธ๋ฆฌ…๋ฑ๋ฑ๋ฑ์ ํธ๋ฆฌ๊ฐ ๊ถ๊ธํฉ๋๋ค.
๊ทธ๋ผ ์ปดํจํฐ๊ณผํ์ ์๋ฃ๊ตฌ์กฐ๋ก์จ์ ํธ๋ฆฌ๋ ๊ทธ๋ํ ์ด๋ก ์ ํธ๋ฆฌ์ผ๊น์?
์ปดํจํฐ๊ณผํ์ ์๋ฃ๊ตฌ์กฐ “ํธ๋ฆฌ”
์ ๊น. ์ปดํจํฐ๊ณผํ์์์ ํธ๋ฆฌ๊ฐ ๋ญ๊น์?
์ ๊ฐ ์๊ฐํ๋ ์ปดํจํฐ๊ณผํ์์์ ํธ๋ฆฌ๋ ์ฌ๋ฌ๋ถ์ด ์๊ฐํ๋ ๋์ถฉ ๊ทธ๋ฌํ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. ๋ถ๋ชจ ๋ ธ๋์ ์์ ๋ ธ๋๊ฐ ์๊ณ , ๋ฃจํธ ๋ ธ๋๊ฐ ์กด์ฌํ๊ณ , ์ธต์(level)๊ฐ ์๊ณ …
์ฌ์ค ์ด๋ฌํ ์ ํ์ "์ปดํจํฐ๊ณผํ์์์ ํธ๋ฆฌ"๋ ๊ทธ๋ํ ์ด๋ก ์์์ ํธ๋ฆฌ๊ฐ ์๋๋๋ค.
๊ตณ์ด ๋ชจ์์ด ๋น์ทํ ์น๊ตฌ๋ฅผ ๋ฐ๋ ค์ ๋ณด์๋ฉด ๋ฃจํธ ํธ๋ฆฌ์ ๋น์ทํ์ง๋ง, ๋๊ฐ์ง๋ ์์ต๋๋ค. “์ผ๋ฐ์ ์ผ๋ก” ๋ฃจํธ ํธ๋ฆฌ์ ํํ๋ฅผ ๋ ๊ธฐ๋ ํฉ๋๋ค.
๊ทธ๋ํ ์ด๋ก ์์์ ๋ฃจํธ ํธ๋ฆฌ๋ ๋ฐฉํฅ์ด ์กด์ฌํฉ๋๋ค. ๋ฃจํธ ์ชฝ์ด๋ ๋ฐ๋์ชฝ์ด๋ …
์ปดํจํฐ๊ณผํ์ ์๋ฃ๊ตฌ์กฐ ํธ๋ฆฌ์๋ ๋ถ๋ชจ์ ์์ ๋ ธ๋๊ฐ ์กด์ฌํ์ฃ .
์ด ๊ด๊ณ๋ฅผ ๋ฐฉํฅ์ด ์๋ ๊ฐ์ ์ผ๋ก “์ผ๋ฐ์ ์ผ๋ก” ๊ฐ์ฃผํ์ฌ ํธ๋ฆฌ๋ ๋ฐฉํฅ ๊ทธ๋ํ์ ์ผ์ข ์ด๋ค, ๋ผ๊ณ ํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋๊น ์ปดํจํฐ๊ณผํ์์ ์๋ฃ๊ตฌ์กฐ์ ์ผ์ข ์ธ ํธ๋ฆฌ๋ ๋ฐฉํฅ ๊ทธ๋ํ์ ๋๋ค.
MST?
๊ทธ๋ฐ๋ฐ ๊ฐ๋ฐ์๊ฐ ๋ค๋ฃจ๋ ํธ๋ฆฌ๋ ๋ค ์๋ฃ๊ตฌ์กฐ์์์ ํธ๋ฆฌ๋๊น ๋ฐฉํฅ ๊ทธ๋ํ๋ค,๋ผ๊ณ ์๊ฐํ๋ฉด ์์ฐจ ์ถ์ ๋ถ๋ถ์ด ์์ต๋๋ค.
MST์ ๋๋ค.
์๊ณ ๋ฆฌ์ฆ์ ๊ณต๋ถํ ๋ ์ข ์ข ๋ฑ์ฅํ๋ ๋ฌธ์ ์ ํ์ด์ฃ .
์ต์ ์คํจ๋ ํธ๋ฆฌ, Minimum Spanning Tree, ํฌ๋ฃจ์ค์นผ๊ณผ ํ๋ฆผ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํด ๊ตฌํ ์ ์๋ ์ด ํธ๋ฆฌ์ ์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฃผ์ด์ง ๊ทธ๋ํ์ ๋ชจ๋ ์ ์ ๋ค์ ์ฐ๊ฒฐํ๋ ๋ถ๋ถ ๊ทธ๋ํ ์ค์์ ๊ทธ ๊ฐ์ค์น์ ํฉ์ด ์ต์์ธ ํธ๋ฆฌ
์ค ํธ๋ฆฌ๋ค์. ๊ทธ๋ผ ์ด ์น๊ตฌ๋ ๋ฐฉํฅ์ด ์์๊น์?
์์ต๋๋ค. MST๋ ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ์ ๋๋ค.
MST์ ํธ๋ฆฌ๋ ๊ทธ๋ํ ์ด๋ก ์์์ ํธ๋ฆฌ์ ๋๋ค.
ํ ์ง์ฌ…
์ด์ ๋ธ๋ก๊ทธ ๊ธ๋ค์ด ๋ฐฉํฅ์ด๋ค ๋ฌด๋ฐฉํฅ์ด๋ค๋ก ๊ผฌ์ด๊ฒ ๋ ์ด์ ๋ฅผ ๋์ถฉ ์๊ฒ ๋์ จ์ต๋๋ค.
์ ๋ฆฌํด ๋ณผ๊น์.
- ๊ทธ๋ํ ์ด๋ก ์์์ ํธ๋ฆฌ๋ ๋ฌด๋ฐฉํฅ
- ์ปดํจํฐ๊ณผํ์ ์๋ฃ๊ตฌ์กฐ์ธ ํธ๋ฆฌ๋ ๋ฐฉํฅ
- MST๋ ๊ทธ๋ํ ์ด๋ก ์์์ ํธ๋ฆฌ๋ฅผ ๋งํ๋ ๊ฒ(์ฆ ๋ฌด๋ฐฉํฅ ๋ ธ์ฌ์ดํด ๊ทธ๋ํ)
์ฉ์ด๋ฅผ ์ฌ์ฉํ ๋๋ ํญ์ ๋งฅ๋ฝ์ ํ์ ํฉ์๋ค.
'๐ ๊ณต๋ถ > โ ๊ถ๊ธํด์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Java์ ์ปดํ์ผ๋ถํฐ ์คํ๊น์ง (0) | 2022.11.18 |
---|---|
๋ฐ์ดํธ ์ฝ๋, ๊ธฐ๊ณ์ด, ๋ฐ์ด๋๋ฆฌ ์ฝ๋, ๋ค์ดํฐ๋ธ ์ฝ๋โฆ? (1) | 2022.10.29 |