๋ชจ๋ ์ ์ ์ ์ฐ๊ฒฐํ๋ ๊ฐ์ ๋ค์ ๊ฐ์ค์น์ ํฉ์ด ์ต์๊ฐ ๋๋ ํธ๋ฆฌ๋ ์ ์ ์ฌ์ด์ ์ต์ ๋น์ฉ์ ๊ฒฝ๋ก ์ฐพ๊ธฐn๊ฐ์ ์ ์ ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฌดํฅ ๊ทธ๋ํ์์ n๊ฐ์ ์ ์ ๊ณผ n-1๊ฐ์ ๊ฐ์ ์ผ๋ก ์ด๋ฃจ์ด์ง ํธ๋ฆฌ๋ฌดํฅ ๊ฐ์ค์น ๊ทธ๋ํ์์ ์ ์ฅ ํธ๋ฆฌ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฐ์ ๋ค์ ๊ฐ์ค์น์ ํฉ์ด ์ต์์ธ ์ ์ฅ ํธ
๊ฐ์ ์ ํ๋์ฉ ์ ํํด์ MST๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ๊ฐ์ ๋ฆฌ์คํธ ์์ฑ์ต์ด, ๋ชจ๋ ๊ฐ์ ์ ๊ฐ์ค์น์ ๋ฐ๋ผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๊ฐ์ค์น๊ฐ ๊ฐ์ฅ ๋ฎ์ ๊ฐ์ ๋ถํฐ ์ ํํ๋ฉด์ ํธ๋ฆฌ๋ฅผ ์ฆ๊ฐ์ํด์ฌ์ดํด์ด ์กด์ฌํ๋ฉด ๋ค์์ผ๋ก ๊ฐ์ค์น๊ฐ ๋ฎ์ ๊ฐ์ ์ ํn-1๊ฐ์ ๊ฐ์ ์ด ์ ํ๋ ๋๊น์ง 2๋ฒ ๋ฐ๋ณต
ํ๋์ ์ ์ ์์ ์ฐ๊ฒฐ๋ ๊ฐ์ ๋ค ์ค์ ํ๋์ฉ ์ ํํ๋ฉด์ MST๋ฅผ ๋ง๋ค์ด ๊ฐ๋ ๋ฐฉ์์๋ก์์ธ 2๊ฐ์ ์งํฉ(2 disjoint-sets) ์ ๋ณด๋ฅผ ์ ์งํธ๋ฆฌ ์ ์ ๋ค(tree vertices) - MST๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์ ํ๋ ์ ์ ๋ค๋นํธ๋ฆฌ ์ ์ ๋ค(non-tree vertices) -
2์ฐจ์ ๋ฐฐ์ดbfs๋ง ๊ตฌํLinkedListbfs, dfs ๊ตฌํArrayListbfs, dfs ๊ตฌํ
์์ ๊ฒ์ ๋ฐฉ๋ฒ์ ๋ฌธ์ ์ ํด๋ฒ์ผ๋ก ์๊ฐํ ์ ์๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋์ดํด๋ณด๊ณ ํ์ธํ๋ ๊ธฐ๋ฒBrute-force ํน์ generate-and-test๊ธฐ๋ฒ์ด๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค.๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ํ ์คํธ ํ ํ ์ต์ข ํด๋ฒ์ ๋์ถ์ผ๋ฐ์ ์ผ๋ก ๊ฒฝ์ฐ์ ์๊ฐ ์๋์ ์ผ๋ก ์ ์ ๋ ์ ์ฉ์๋์
๊ฐ์ ์ ๊ฐ์ค์น๊ฐ ์๋ ๊ทธ๋ํ์์ ๋ ์ ์ ์ฌ์ด์ ๊ฒฝ๋ก๋ค ์ค์ ๊ฐ์ ์ ๊ฐ์ค์น ํฉ์ด ์ต์์ธ ๊ฒฝ๋ก์ด๋ค.๊ฐ์ค์น๊ฐ ์๋ค๋ ๋ง์ ๋ชจ๋ ๊ฐ์ ์ ๊ฐ์ค์น๊ฐ ๋์ผํ๋ค๋ ๊ฒ์ ์๋ฏธ. ์ฆ, ํ๋์ vertex์์ ๋ค๋ฅธ vertex๊น์ง ๊ฑฐ์น ๊ฐ์ ์ ๊ฐ์(์ ์ ์ ๊ฐ์๋ ๊ฐ๋ฅ)๊ฐ ์ต๋ํ ์ ์ ๊ฒฝ
๋ค์ต์คํธ๋ผ