๐ ์๊ณ ๋ฆฌ์ฆ/์ต์์ ์ฅํธ๋ฆฌ

PRIM ์๊ณ ๋ฆฌ์ฆ
์ต์์ ์ฅํธ๋ฆฌ๋ฅผ ๋ง๋๋ ๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ธ PRIM ์๊ณ ๋ฆฌ์ฆ์ ๋ํด์ ์์๋ณด์. (์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ผ๋ก๋ KRUSKAL ์๊ณ ๋ฆฌ์ฆ์ด ์์๋ค.) 1. PRIM ์๊ณ ๋ฆฌ์ฆ ๐ 1. ๊ธฐ๋ณธ ๊ฐ๋ ๊ทธ๋ฆฌ๋ ๋ฐฉ์์ ์ด์ฉํ์ฌ ์ต์ ์ ์ฅ ํธ๋ฆฌ๋ฅผ ์ฐพ๋ ๋ฐฉ์ ์์ ์ ์ ์์๋ถํฐ ์ถ๋ฐํ์ฌ ์ ์ฅํธ๋ฆฌ ์งํฉ์ ๋จ๊ณ์ ์ผ๋ก ๋ง๋ค์ด ๋๊ฐ๋ ๋ฐฉ์ 2. ๋์ ๋ฐฉ์ ๊ทธ๋ํ์์ ํ๋์ ์ ์ ์ ์ ํํ์ฌ ํธ๋ฆฌ๋ฅผ ๋ง๋ ๋ค. ํธ๋ฆฌ์ ์ฐ๊ฒฐ๋์ด ์์ง๋ง ์์ง ์ ํ๋์ง ์์ ์ ์ ๋ค ์ค์์ ๊ฐ์ ์ ๊ฐ์ค์น๊ฐ ๊ฐ์ฅ ๋ฎ์ ์ ์ ์ ํธ๋ฆฌ์ ํฌํจ์ํจ๋ค. ํธ๋ฆฌ๊ฐ N-1์ ๊ฐ์ ์ ๊ฐ์ง ๋๊น์ง 2๋ฒ์ ๋ฐ๋ณตํ๋ค. 2. ๊ตฌํ (JAVA) ๐คฟ ๊ตฌํ ๋ฐฉ์์ผ๋ก๋ ์๋์ 2๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค. ๋ฐ๋ณต๋ฌธ์ ํตํด ๋ค์ ์ ์ ์ ์ฐพ๋ ๋ฐฉ์ PriorityQueue๋ฅผ ์ด์ฉํด ๋ค์ ์ ์ ์ ์ฐพ๋ ๋ฐฉ์ ์์ ์์๋ฅผ ํต..

KRUSKAL ์๊ณ ๋ฆฌ์ฆ
1. ๊ธฐ๋ณธ ๊ฐ๋ ๐งช 1. ์ ์ฅ ํธ๋ฆฌ (Spanning Tree) n๊ฐ์ ์ ์ ์ ๊ฐ์ง๋ ๊ทธ๋ํ์์ n๊ฐ์ ์ ์ ์ ๋ชจ๋ ์ฐ๊ฒฐํ ์ ์๋ n-1๊ฐ์ ๊ฐ์ ์ผ๋ก ์ด๋ฃจ์ด์ง ํธ๋ฆฌ (๊ฐ์ ์ n-1๊ฐ ์ด์์ผ ์ ์๋ค.) ๋ฌผ๋ก n-1๊ฐ ์ด์์ ๊ฐ์ ์ ๊ฐ์ ธ๋ ์ ์ฅ ํธ๋ฆฌ๊ฐ ๋ ์ ์๋ค. 2. ์ต์ ์ ์ฅ ํธ๋ฆฌ(Minimum Spanning Tree) ๋ฌดํฅ ๊ฐ์ค์น ๊ทธ๋ํ์์ ๊ฐ์ค์น์ ํฉ์ด ๊ฐ์ฅ ์์ ์ ์ฅ ํธ๋ฆฌ๋ฅผ ์ต์ ์ ์ฅ ํธ๋ฆฌ๋ผ๊ณ ํ๋ค. 2. KRUSKAL ์๊ณ ๋ฆฌ์ฆ ๐งซ 1. ๊ธฐ๋ณธ๊ฐ๋ ๊ทธ๋ฆฌ๋ ๋ฐฉ์์ ์ด์ฉํ์ฌ ์ต์ ์ ์ฅ ํธ๋ฆฌ๋ฅผ ์ฐพ๋ ๋ฐฉ์ ๊ทธ๋ฆฌ๋ํ ๋ฐฉ์ ์์ฒด๊ฐ ํญ์ ์ต์ ์ ํด๋ต์ ์ ๊ณตํ๋ค๋ ๋ณด์ฅ์ ์์ง๋ง, KRUSKAL ์๊ณ ๋ฆฌ์ฆ์์๋ ์ต์ ์ ํด๋ต์ ์ ๊ณตํ๋ ๊ฒ์ผ๋ก ์ฆ๋ช ๋์ด์๋ค. 2. ๋์ ๋ฐฉ์ ๋ชจ๋ ๊ฐ์ ๋ค์ ๊ฐ์ค์น์ ๋ฐ๋ผ ์ค๋ฆ์ฐจ์์ผ๋ก..