0. ํ์ต ๋ชฉ์
- ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ ๋ชฉ์ ๊ณผ ์๋์๋ฆฌ๋ฅผ ์ดํดํ๋ค.
- ์ต์ ์คํจ๋ ํธ๋ฆฌ๊ฐ ๋ฌด์์ธ์ง ์ดํดํ๋ค.
- ํธ๋ฆฌ์ ๊ทธ๋ํ์ ์ฐจ์ด์ ์ ์ดํดํ๋ค.
1. ํฌ๋ฃจ์ค์นผ (Kruskal) ์๊ณ ๋ฆฌ์ฆ์ด๋?
์ฃผ์ด์ง ๊ทธ๋ํ ๋ด์์ ์ต์ ์คํจ๋ ํธ๋ฆฌ๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
๊ทธ๋ฆฌ๋ํ ๋ฐฉ์์ ์งํ๋๋ฉฐ, ๋ด๋ถ์์ ํธ๋ฆฌ ๊ตฌ์ฑ์ ์ฌ๋ถ๋ฅผ ๊ฐ๋ฆฌ๊ธฐ ์ํด ์ ๋์จ ํ์ธ๋๋ฅผ ํ์ฉํ๋ค.
(1) ๊ทธ๋ํ์ ํธ๋ฆฌ์ ์ฐจ์ด
๋ ๋ค ๊ฐ์ ๊ณผ ์ ์ ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ง๋ง, ๋ค์ ํญ๋ชฉ์์ ์ฐจ์ด๋ฅผ ๋ณด์ธ๋ค.
| ๊ตฌ๋ถ | ๊ทธ๋ํ | ํธ๋ฆฌ |
|---|---|---|
| ์ฌ์ดํด์ ์ฌ๋ถ | ์ฌ์ดํด์ด ์กด์ฌํ ์ ์๋ค. | ์ฌ์ดํด์ด ์๋ค. |
| ๊ฐ์ ์ ๊ฐ์ | ๊ฐ์ ์ ๊ฐ์๋ฅผ ํน์ ํ ์ ์๋ค. | ์ ์ ์ด N๊ฐ๋ผ๋ฉด ๊ฐ์ ์ ๊ฐ์๋ N-1๊ฐ์ด๋ค. |
(2) ์ต์ ์คํจ๋ ํธ๋ฆฌ๋?
๊ทธ๋ํ ๋ด์ ํธ๋ฆฌ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด์๋ ๊ฐ์ค์น ๋น์ฉ์ด ์ต์ ๋น์ฉ์ธ ๋ถ๋ถ์งํฉ์ ์๋ฏธํ๋ค.
์ฌ๊ธฐ์ ํธ๋ฆฌ์ ์กฐ๊ฑด์ ๋ฌด์ฌ์ดํด, ๊ฐ์ ์ ๊ฐ์๊ฐ N-1 ๊ฐ๋ฅผ ๋ค ์ ์๋ค.

์ผ์ชฝ์ด ์ฃผ์ด์ง ๊ทธ๋ํ, ์ค๋ฅธ์ชฝ์ด ํด๋น ๊ทธ๋ํ์์ ๋์จ ์ต์ ์คํจ๋ ํธ๋ฆฌ์ด๋ค.
2. ํฌ๋ฃจ์ค์นผ ๋์ ๊ณผ์
(0) ์ค๋น๋ฌผ
๊ฐ์ ๋ฆฌ์คํธ
: (์ ์ 1, ์ ์ 2, ๊ฐ์ค์น) ํ์์ผ๋ก ์ด๋ฃจ์ด์ง ๊ฐ์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ ๋ค.
๋ชจ๋ ๊ฐ์ ์ ์ ์ฅํ ํ์ ๊ฐ์ค์น๊ฐ ์์ ์์ผ๋ก ์ ๋ ฌํ๋ค.์ ๋์จํ์ธ๋ ์ฉ ๋ฐฐ์ด
: ๊ฐ์ ๋ฆฌ์คํธ๋ฅผ ์ํํ๋ฉฐ (A,B,๊ฐ์ค์น) ํํ์ ๊ฐ์ฒด๋ฅผ ๋ง์ฃผํ ๋, ์ ์ A์ ์ ์ B๊ฐ ์ด๋ฏธ ๊ฐ์ ํธ๋ฆฌ์ ๊ตฌ์ฑ์์ธ์ง ํ์ธํ๋ ์ฉ๋์ด๋ค.
(1) ๋์
๊ฐ์ ๋ฆฌ์คํธ์ (
์ ์ A,์ ์ B,๊ฐ์ค์น) ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.๊ฐ์ ๋ฆฌ์คํธ๋ฅผ ๊ฐ์ค์น๊ฐ ์์ ์์ผ๋ก ์ ๋ ฌํ๋ค.
๊ฐ์ ๋ฆฌ์คํธ๋ฅผ ์ํํ๋ฉฐ ๋ค์์ ๋ฐ๋ณตํ๋ค.
๊ฐ์ ๊ฐ์ฒด์
์ ์ A์์ ์ B๊ฐ ์ ๋์จ ํ์ธ๋ ์ ๊ฐ์ ์งํฉ์ ์ํ๋์ง ํ์ธํ๋ค.๋ง์ฝ ๊ฐ์ ์งํฉ์ ์ํ๋ฉด ์ด๋ฏธ ์ต์ ์คํจ๋ ํธ๋ฆฌ์ ์ผ์์ด๋ฏ๋ก ํ ๊ฐ์ ์ ์ด์ผ๋ฉด ์๋๋ค. ๋ฐ๋ผ์ ๋์ด๊ฐ๋ค. ( ํ์ฌ ๊ฐ์ ์ ์ด์ผ๋ฉด ์ํ์ด ์๊ธฐ๋ฏ๋ก ํธ๋ฆฌ์ ์ ์์์ ๋ฒ์ด๋จ)
๋ง์ฝ ๊ฐ์ ์งํฉ์ ์ํ์ง ์์ผ๋ฉด ๋์ ์๋๋ค. (
Union(A,B)์คํ ๋ฐ ๊ฐ์ค์น ๋ํ๊ธฐ)
(2) ์์

๊ธฐ๋ณธ ํํ๋ ์์ ๊ฐ์ ๊ฒ์ด๋ค.
์ฒซ๋ฒ์งธ ๊ฐ์ ์ ๋ํ ์์
์ํ
๋ ๋ฒ์งธ ๊ฐ์ ์ ๋ํ ์์
์ํ
์ธ ๋ฒ์งธ ๊ฐ์ ์ ๋ํ ์์
์ํ
(1,4,3)์ ์ด์ผ๋ฉด, ์ํ๊ฐ ์๊ฒจ์ ๋ ์ด์ ํธ๋ฆฌ๊ฐ ์๋๊ฒ ๋๋ฏ๋ก ํด๋น ๊ฐ์ ์ ๋์ด๊ฐ๋ค.
๋ค๋ฒ์งธ ์์
์ ์ํ
5๋ฒ์งธ ์์
์ํ
6๋ฒ์งธ ์์
์ํ.
(2,5,5) ๋ํ ์ฐ๊ฒฐํ๋ฉด ์ํ์ด ์๊ธฐ๋ฏ๋ก, ๋์ด๊ฐ๋ค.
์ํ์ ์์ง ๋ ์ ์ ์ UNION์ผ๋ก ์ฐ๊ฒฐํ์ง๋ ์์๋๋ฐ, ๋์ ์กฐ์์ด ๊ฒน์น๋ ๊ฒฝ์ฐ์ ์กด์ฌํ๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ ๊ฐ๋ฅํ๋ค.
7๋ฒ์งธ ์์
์ํ
์ด๋ฒ ์์
์ ๋์ผ๋ก ํธ๋ฆฌ์ ๊ฐ์ N-1 ๊ฐ๋ฅผ ๋ชจ๋ ์ฐพ์์์ผ๋ก ๋ ์ด์ ๊ทธ ๋ค์ ๊ณ์ฐ์ ์งํํ ํ์๊ฐ ์๋ค.
3. ํต์ฌ ์์ฝ
ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ด๋ ๊ทธ๋ํ์์ ์ต์ ์คํจ๋ ํธ๋ฆฌ๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.์ต์ ์คํจ๋ ํธ๋ฆฌ๋ ํธ๋ฆฌ์ ๊ท์น (๋ฌด ์ฌ์ดํด, N-1๊ฐ์ ๊ฐ์ )์ ์งํค๋ฉด์๋ ๊ทธ๋ํ ๋ด์ ์ต์ ๊ฐ์ค์น๋ก ๋ง๋ค์ด์ง ํธ๋ฆฌ๋ฅผ ์๋ฏธํ๋ค.ํฌ๋ฅด์์นผ ์๊ณ ๋ฆฌ์ฆ์ ๋์ ์๋ฆฌ๋ ์ ํํ ์ ์ ํ์ธ์ ์ํ ์ ๋์จ ํ์ธ๋*์ ๊ฐ์ค์น๊ฐ ์์ ๊ฐ์ ๋ถํฐ ํ๋์ฉ ํ์ธํ์ฌ, ์ํ์ด ์๋๋ฉด ๋ฝ์ ์ฐ๋ *๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
๋ถ๋ก
A. ๋ชจ๋ฅด๋ ๊ฒ ์ ๋ฆฌ
B. ์ฐธ๊ณ ๋ฌธ์
C. ๊ด๋ จ ๊ธ
TABLE without id file.inlinks AS "BackLink"
WHERE file.path = this.file.path