๊ทธ๋ํ ์ฉ์ด
- V : vertex
- E : Edge
- path
- ์ฐ๊ฒฐ ๊ทธ๋ํ : ์ด๋ค ๋ ์ ์ ์ฌ์ด์๋ ๊ฒฝ๋ก๊ฐ ์กด์ฌํ๋ ๊ทธ๋ํ
- ๋ถ๋ถ ๊ทธ๋ํ
- ๊ฐ์ค์น ํฌํจ ๊ทธ๋ํ : Edge์ ๊ฐ์ค์น๊ฐ ๋ฌ๋ ค์์
- ์ํ ๊ฒฝ๋ก
- ์ํ ๊ทธ๋ํ, ๋น์ํ ๊ทธ๋ํ
- ํธ๋ฆฌ - ๋น์ํ, ๋น๋ฐฉํฅ๊ทธ๋ํ
- ์ ์ฅ ํธ๋ฆฌ : ์ฐ๊ฒฐ๋, ๋น๋ฐฉํฅ์ฑ ๊ทธ๋ํ์์ ์ํ๊ฒฝ๋ก๋ฅผ ์ ๊ฑฐํ๋ฉด์ ์ฐ๊ฒฐ๋ ๋ถ๋ถ ๊ทธ๋ํ๊ฐ ๋๋๋ก ํ๋ ํธ๋ฆฌ
- ์ ์ฅ ํธ๋ฆฌ์ ๊ฐ์๋ Cayleyโs formula์ ๋ฐ๋ฅธ ๊ฐ์๋ฅผ ๊ฐ์ง
์ต์๋น์ฉ์ ์ฅํธ๋ฆฌ
- ์ ์ฅ ํธ๋ฆฌ๊ฐ ๋๋ ๋ถ๋ถ ๊ทธ๋ํ ์ค์์ ๊ฐ์ค์น๊ฐ ์ต์๊ฐ๋๋ ๋ถ๋ถ ๊ทธ๋ํ
- ๋ฌด์กฐ๊ฑด ํธ๋ฆฌ๋ก ๋์จ๋ค. ์๋ํ๋ฉด ์ํ ๊ฒฝ๋ก๊ฐ ์์ด์ผ ํ๊ธฐ ๋๋ฌธ
- ๋ธ๋ฃจํธ ํฌ์ค
- n์ ๋ํด ์ ์ฅํธ๋ฆฌ์ ๊ฐ์๋ ๊ฐ
- ์๋๋ค.
Prim ์๊ณ ๋ฆฌ์ฆ
- ์ธ์ ํ๋ ฌ
- ์ฐ๊ฒฐ ์๋์ด ์์ผ๋ฉด ๋ฌดํ๋
- ์ฐ๊ฒฐ๋๋ฉด ๊ฐ์ค์น
- ๋๋ผ๋ฉด 0
- ๋ฐฉํฅ ๊ทธ๋ํ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์ธ์ ํ๋ ฌ์ ๋์นญ์ด๋ค.
- ํต์ฌ์ ์ด๋ฏธ ๋ฐฉ๋ฌธํ ๊ฒ์ ๋ํด์๋ ๊ฐ์ ์ ๊ฐ์ง ์๋๊ฒ.
- ๊ฐ์ง ์์ ๊ฒ๋ค์ค ์ต์๋ฅผ ์ ํํ์ฌ ์ ํํ ์งํฉ์ ๋ฃ๋๊ฒ
- ์ด๊ฒ์ ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ ์ํด์๋ ํ์ฌ ์ ํ๋ ์งํฉ์ผ๋ก๋ถํฐ ์ ํ๋์ง ์์ ์์น๋ก์ ์ต์๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ํด์ ์ ๋ฐ์ดํธ ํด์ผํ๋ค.
- ์๊ณ ๋ฆฌ์ฆ์ ๋ณด๊ฒ๋๋ฉด, Y์งํฉ์ ๋ฃ๊ธฐ ์ํด n-1๋ฒ์ ๋ฐ๋ณต, ๊ทธ๋ฆฌ๊ณ ๊ฐ๊ฐ์ ๋จ๊ณ์์ ๊ฐ์ฅ ์งง์ ๊ธธ์ด๋ฅผ ์ฐพ๋ ๊ณผ์ ์ด ์๊ธฐ ๋๋ฌธ์ O(n^2)์ด๋ค.
Kruskal ์๊ณ ๋ฆฌ์ฆ
- ๋๊ฐ์ ์๋ก์ ์งํฉ์ ๋ง๋ ๋ค.
- ๊ทธ ๋๊ฐ์ ๋ ธ๋๊ฐ ๊ฐ์ง๋ ๊ฐ์ค์น๋ณ๋ก ์ ๋ ฌํ๋ค.
- ํด๋น ์ฐ๊ฒฐ์ ์์ ๋ ธ๋์ ๋ ๋ ธ๋๋ฅผ ๊ฐ์ ธ์จ๋ค.
- ๊ฐ๊ฐ์ ๋ ธ๋ ์งํฉ์ ๊ฐ์ ธ์จ๋ค.
- ๋ ์งํฉ์ด ๊ฐ์ ์งํฉ์ด ์๋๋ผ๋ฉด ๋ ์งํฉ์ ํฉ์น๋ค.
- ํด๋น ์๊ณ ๋ฆฌ์ฆ์ ํต์ฌ์ ์ต์์ ์ฅํธ๋ฆฌ๋ฅผ ๋ง์กฑํ๊ธฐ ์ํด์๋ ์ต์๋ก ์ฐ๊ฒฐ๋ ์งํฉ์ ๋ง๋ค์ด์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
- ๊ทธ๋ฌ๊ธฐ ์ํด์๋ ๊ฐ์ค์น๊ฐ ์์ ๋ ธ๋๋ค๋ผ๋ฆฌ ๋จผ์ ์ฐ๊ฒฐํ๋ ๊ฒ์ด ๋ง๋ค.
- ๊ทธ๋ฆฌ๊ณ ์ฐ๊ฒฐ๋์๋ค๋ฉด, ์๋ก ๋ค๋ฅธ ์๋ก์ ์งํฉ์ ๋ํด ์ด๋ฅผ ๋น๊ตํ ํ์๊ฐ ์๋ค.
- ์ด ๋ union find ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ disjoint ์งํฉ์ ์์๋ด์ด ์ด๋ฅผ ๋น๊ตํ๋ค.
- ๋ค๋ฅด๋ค๋ฉด ์ฐ๊ฒฐํ๋ ๊ฒ์ด ๋ง๋ค. ์๋ํ๋ฉด ๊ฐ์ค์น๋ณ๋ก ๋ฎ์ ๊ฐ๋ถํฐ ์ ๋ ฌ์ ํด๋์๊ธฐ ๋๋ฌธ
- ์ต์ ์ ๊ฒฝ์ฐ์๋ O()์ด๋ค.
๋จ์ผ ์ถ๋ฐ์ ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ : ๋ค์ต์คํธ๋ผ
- ๊ฐ์ฅ ์งง์ ๋ ธ๋๋ฅผ ํธ์ ์ํจ๋ค.
- ๋ ธ๋๊ฐ ํธ์ ๋ ์ํ์์ ์ ํ๋์ง ์์ ๋ ธ๋๋ค์ ๋ํ ์ต์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐฑ์ ํ๋ค.
- ๋ฐ๋ณตํ๋ค.
0-1 Knapsack ๋ฌธ์
- ๋ฌผ๊ฑด์ ๋ฌด๊ฒ, ๊ฐ์น๊ฐ ์ ํด์ ธ ์๊ณ , ๊ฐ๋ฐฉ์ ๋ด์ ์ ์๋ ๋ฌด๊ฒ๊ฐ ์ ํด์ ธ์๋ค๊ณ ํ์ ๋,
- ๊ฐ๋ฐฉ์ ๋ฌด๊ฒ๋ฅผ ๋์ง ์๋ ์ํฉ์์ ๊ฐ๋ฐฉ์ ๋ฃ์ ๊ฐ์น๊ฐ ์ต๋๊ฐ ๋๋๋ก ํ๋ ๋ฌธ์
- ๋ถ๋ฅดํธ ํฌ์ค : 2
- ๊ฐ์ฅ ๋น์ผ ๋ฌผ๊ฑด ๋ถํฐ ์ฑ์ด๋ค? x
- ๋ฌด๊ฒ๊ฐ ๋๋๊ฐ๋ ๋ฌผ๊ฑด ๋ถํฐ ์ฑ์ด๋ค? x
- ๋ฌด๊ฒ๋น ๊ฐ์น๊ฐ ๋์ ๋ฌผ๊ฑด๋ถํฐ ์ฑ์ด๋ค? x
๊ทธ๋ผ ๋นํ์์ด ์ฑ์ฐ๋ ๊ฒฝ์ฐ๋ ํ ์ ์์๊น?
- ๋ฐฐ๋ญ ๋นํ์์ด ์ฑ์ฐ๊ธฐ ๋ฌธ์
- ์ด๊ฑด ๊ทธ๋ฆฌ๋๋ก ํ๋ฉด๋๋ค.
- ์๊ฐํด๋ณด๋ฉด ๋ฌด๊ฒ๋น ๊ฐ์น๊ฐ ๋์ ๊ฒ์ ๋ค ์ฑ์ฐ๊ณ , ๋ฌด๊ฒ๊ฐ ์๋๋ ๊ฒ์ ๊ทธ๋ค์ ๋ฌผ๊ฑด์ ๋ํด
- ์๋ผ์ ๋ฃ์ด๋ฒ๋ฆฌ๋ฉด ๋.
๋์ ๊ณํ๋ฒ ์๋
์.. ๊ทธ๋ผ ์ด ์ ์๋ฅผ ๋ง์กฑํ๋ ค๋ฉด
๊ฒฐ๊ตญ ๋์ ๊ณํ๋ฒ ์์ด๋์ด๋, ๋ณํ๋ ๋ณ์๋ฅผ ์ฒดํฌํ๋ ๊ฒ์ผ๋ก๋ถํฐ ์์ํ๋ ๊ฒ ๊ฐ๋ค.
๋ฌธ์ ์
ํ์ง๋ง ์ด๋ ๊ฒ ๋ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋๋ฐ, n๊ณผ W๋ ๋ ๋ฆฝ์ ์ด๊ธฐ ๋๋ฌธ์, W๊ฐ ์์ฒญ๋๊ฒ ๊ฐ์ด ํฌ๋ค๋ฉด ํจ์จ์ด ๊ต์ฅํ ์ข์ง ์์์ง๋ค. ๊ทธ๋์ ์ด๋ฅผ ๊ฐ์ ํด์ผ ํ๋๋ฐ, ์ ์๊ฐํด๋ณด๋ฉด, ๋ชจ๋ ๋ฌด๊ฒ์ ๋ํด ํ๋จํ ํ์๊ฐ ์๊ณ , ์ง๊ธ ํ์ฌ ํ๋จํ๊ณ ์ถ์ ๋ฌด๊ฒ๋ฅผ ๋ฃ์์ ๊ฒฝ์ฐ, ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ๋ง ๋น๊ตํ๋ฉด ๋๋ค.
ํด๊ฒฐ๋ฐฉ๋ฒ
์ด๋ฐ์์ผ๋ก ํน์ ์์ดํ ์ ๋ฃ์์ ๋๋ฅผ ํ๋ณํ๊ณ ์ถ๋ค๋ฉด, ๋ฃ์์ ๊ฒฝ์ฐ์ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ๋ง ํ๋จํ๋ฉด ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด๋ ๊ฒ ํ์ ๊ฒฝ์ฐ์ ์๊ฐ๋ณต์ก๋๋?
- ์ฐ์ฐ์ผ๋ก ๋น๊ตํ๋ ๊ฒฝ์ฐ
- ๋งจ ๋ง์ง๋ง๊ฐ์ ๊ตฌํ๊ธฐ ์ํด์๋ 2๋ฒ์ ๋น๊ต๊ฐ ํ์
- ๊ทธ ์ด์ ์ ๊ฐ ์ญ์ 2๋ฒ
- ๊ฒฐ๊ตญ n๊ฐ์ ์์ดํ ์ ๋ํด 2๋ฒ์ฉ ๊ณ์ฐ์ด ๋์ด๋๊ฒ ๋จ.
- O(2^n)
- ํ์ํ ์ํธ๋ฆฌ์ ์ซ์๋ก ํ๋จํ๋ ๊ฒฝ์ฐ
- ๋ง์ฝ ์์ดํ ์ ๋ฌด๊ฒ๊ฐ ๋ค 1์ด์ผ
- ๊ทธ๋ฌ๋ฉด ์ด์ ์๋ ๊ทธ๋ฆผ๋งํผ ํ์ํ ๊ฑฐ์ง. ์ผ๊ฐํ ๋์ด๋งํผ
Union find
- ์๋ก์ ์งํฉ์ ์ฒ๋ฆฌํ ๋ ์ฌ์ฉํ๋ค.
- Linked list
- array
- Tree
- ๋จ์ํ ๋ฐฉ๋ฒ
- ๋ฌด๊ฒ ๊ณ ๋ ค๋ฐฉ๋ฒ
- ๊ฒฝ๋ก ์์ถ ๋ฐฉ๋ฒ
- ์๋ก์์ธ ๋ ์งํฉ์ ๋ํด์ ์ฒ๋ฆฌํ ๋งํ ์ฐ์ฐ์,
- ๊ฐ์๊ฐ?
- ํฉ์ณ์ค!
- ๋ฐ์ ์๋ค.
Linked list ์ฌ์ฉ
- ์ผ๋จ ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋๊ฐ์ ํฌ์ธํฐ๋ฅผ ๊ฐ์ง๊ณ ์๊ฒ ๋๋ค.
- ์ฒซ๋ฒ์งธ๋ ๋ด ์งํฉ์ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ
- ๋๋ฒ์งธ๋ ๋ด ๋ค์ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ
- find : O(1)
- union : ๋ง์ฝ ์ผ์ชฝ์ ์ค๋ฅธ์ชฝ์ ๋ถ์ธ๋ค๊ณ ํ๋ฉด ์ผ์ชฝ์ ์๋ ์์ ๋ชจ๋ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ถ์ฌ์ผ ํ๋ 4๋ฒ์ ํฌ์ธํฐ ๋ณ๊ฒฝ์ด ํ์ํ๋ค.
๋ฌธ์ ์
- ์ด๊ฒ ์๋ณด๋ฉด ๋ฌธ์ ์ ์ด ์๋๋ฐ,
- ์๋ฅผ ๋ค์ด n๊ฐ์ ์์๊ฐ ์์ ๋, ์์ฐจ์ ์ผ๋ก ๋ค์ ์๋ ์์์ ์งํฉ์ ํฉ์น๋ค๊ณ ์๊ฐํด๋ณด์.
- ๊ทธ๋ฌ๋ฉด ์์ ์๋ ์งํฉ์ ๊ณ์ํด์ ์ปค์ง๋ ์ํฉ์ธ๋ฐ ๋ค๋ ์๊ธฐ ๊ฐ์ง๋ง์ ์์๋ก ๊ฐ์ง๋ ์งํฉ์ด๋ค.
- ๊ทธ๋ฌ๋ฉด ์์ ์์๋ค์ ํฌ์ธํฐ ์ด๋ํ์๋ linearํ๊ฒ ์ฆ๊ฐํ๋ค.
- n๊ฐ์ ์์๊ฐ ๋ชจ๋ ํ์งํฉ์ด ๋๋๋ฐ ๊น์ง ํฌ์ธํฐ ์ด๋ํ์๋ฅผ ๊ณ์ฐํ๊ฒ ๋๋ฉด ์ด๋ค.
- ์ฆ O(n^2)์ด๋ค.
- ์ข๋ ์ ํํ๊ฒ m๋ฒ์ union์ ํ๋ค๊ณ ํ๋ฉด O(m^2)์ด๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ
- ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๊ต์ฅํ ๊ฐ๋จํ๋ฐ, ๊ทธ๋ฅ ๋ ํฐ ์งํฉ์ ์์ ์งํฉ์ ํฉ์น๋ ๊ฒ์ด๋ค.
- ์ด๋ด ๊ฒฝ์ฐ ์๊ฐ ๋ณต์ก๋๋ O(nlogn)์ด๋ค. ์?
- ์ฝ๊ฒ ๊ทธ๋ฆผ์ผ๋ก ์์๋ณด๋ฉด
- ์, ํน์ ์์๊ฐ ์์ ๊ฐ์ ์ํฉ์์ ๋ช๋ฒ ํฌ์ธํฐ๊ฐ ๋ณ๊ฒฝ๋๋์ง ๋ณด์.
- logn๋ฒ์ด๋ค.
- ์ ๊ทธ๋ฌ๋ฉด ์ด๋ฒ์๋ ๊ณ์ํด์ ์์ ์งํฉํ๊ณ ์ฐ๊ฒฐํ๋ ๊ฒฝ์ฐ๋ฅผ ๋ณด์.
- 1๋ฒ์ด๋ค. ์๋ฐ๋๋ ๊ฑฐ์ง
- ๊ทธ๋ผ ๊ฒฐ๊ตญ ๋ญ์ผ. ํ๋์ ์์์ ํฌ์ธํฐ ์ด๋์ logn, ๋ชจ๋ ์์์ ๋ํด nlogn
Array ์ฌ์ฉ
- ๊ต์ฅํ ์ง๊ด์ ์ด์ง?
- i๋ฒ์งธ index์ ์๋ ์์์ ์งํฉ ๋ฒํธ๋ฅผ value๋ก ๊ทธ๋ฅ ๋ฌ์๋ฒ๋ฆฐ๊ฑฐ์ง.
- find๋ ๋น์ฐํ ์์์๊ฐ
- union๊ฐ์ ๊ฒฝ์ฐ ๊ฐ์ ์งํฉ์ด๋ผ๊ณ ๋ฌถ์ฌ ์๋ ๋ ์๋ค์ y์ ์งํฉ ๋ฒํธ๋ก ๋ค ์ ๋ฐ์ดํธํ๋ฉด ๋๊ฒ ์ง.
- ์ผ๋จ ์ด๊ฑธ ํ ์ ์์ผ๋ ค๋ฉด ๊ฐ๊ฐ์ ์งํฉ ๋ฒํธ์ ์๋ ์์๋ค์ ๋ํด์ ์๊ณ ์์ด์ผ ๊ฒ ์ง.
- ๊ทธ๋ฆฌ๊ณ ์๊ฐ ๋ณต์ก๋๋ฅผ ๋ํ๋ ค๋ฉด ๋น์ฐํ ์งํฉ์ ํฉ์น๋ ๋ฐ ์์ด์ ํด๋น ์์๊ฐ ์ํด์๋ ์งํฉ์ ํฌ๊ธฐ๋ฅผ ๋น๊ตํด์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์ข๊ฒ ์ง.
Tree ์ฌ์ฉ
- ์ฌ์ค ์ด๊ฒ ์ ์ผ ์ข์ ๋ฐฉ๋ฒ์ด์ผ.
- ์๋ํ๋ฉด ํด๋น ์์ ์ ๊ฐ๊ฐ์ ์์์ ์ ๊ทผํ ํ์๊ฐ ์์ด
- ๊ทธ๋ฅ ์งํฉ๋ง ์๊ณ ์์ผ๋ฉด ๋ก์ด์ผ.
- ๊ทธ๋ฌ๋ฉด ์ ๊ตณ์ด ์ ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฐ๋
- ๋น์ฐํ ํธ๋ฆฌ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋๊ฒ ๋ฒ ์คํธ์ง. ํน์ ์์๊ฐ ์ด๋ ์ํด์๋์ง ์ฐพ์๊ฐ๋๋ฐ ์์ด์ logn์ด ๊ฑธ๋ฆฌ๋๊น.
- ์ ๋ฌผ๋ก ๊ธฐ์กด์ find ๋ณด๋ค ์์์๊ฐ๋ณด๋ค๋ ์ค๋ ๊ฑธ๋ฆฌ์ง.
- ๊ทผ๋ฐ union์์ ์์ฒญ๋ ์ฅ์ ์ด ์์ง.
- logn์ผ๋ก ์ฐพ๊ณ ํด๋น ๋ ธ๋์ ํฌ์ธํฐ๋ฅผ ๋ค๋ฅธ ๋ ธ๋์ ์งํฉ ์์์ ๊ฑ ๋ถ์ฌ๋ฒ๋ฆฌ๋ฉด ๋์ด๊ฑฐ๋ .
๋ฌธ์ ์
- ์ ๊ทธ๋ฐ๋ฐ ์ฌ์ ํ ๋ฌธ์ ๊ฐ ์์ด.
- ํธ๋ฆฌ ๋ฌธ์ ์์ง? ์๋ชปํ๋ฉด ๊ทธ๋ฅ ๋งํฌ๋๋ฆฌ์คํธ๋ ๋๊ฐ์ ๊ฑฐ์ฌ
- ๊ทธ๋ฌ๋ฉด ๊ฒฐ๊ตญ ํฉ์น๋๋ฐ ์์ด์ ๋ง์ฝ์ ํฐ์งํฉ์ ์์ ์งํฉ์ ๋ถ์ด๋ฉด (x1์ x2์ ๋ถ์ฌ๋ผ๊ฐ default์)
- ํฌ์ธํฐ ๋ณ๊ฒฝ์ 1ํ์ด์ง๋ง, ์ด๋์ด ๊ฒฐ๊ตญ ๋ง์ด ๋ฐ์ํด.
- x1์ด ํด๋น๋ ๋ ธ๋๋ฅผ ๊ณ์ ํ๊ณ ์ฌ๋ผ๊ฐ์ผ ํ๋๋ฐ ์ค์ค์ด ๋ค๋ฐ์ด๋๊น ๊ณ์ ์๊ฐ์ด ๊ฑธ๋ฆด๊ฑฐ์๋.
ํด๊ฒฐ๋ฐฉ๋ฒ
- ์๋ ๊ทธ๋ฌ๋ฉด ์ด์ ์ ํ๋ ๊ฒ์ฒ๋ผ ํฐ๋์ ์์๋์๊ฒ ๋ถ์ด์ง ๋ง์.
- ํฐ๋์ธ์ง ์์๋์ธ์ง ํ๋จํ๊ณ ์์๋์ ๋ถ์ฌ์ ํด๊ฒฐํ์.
- ํธ๋ฆฌ๋๊น ์ด๋ฒ์๋ ์๋๋ก ๋์ด์ง, ์ฆ ๋ฌด๊ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ฑฐ์ผ
- ์ด ๋ฌด๊ฒ๋ ๊ฒฐ๊ตญ ํธ๋ฆฌ์ ๊น์ด๊ฐ ๋๊ฒ ์ง. ๊น์ด๊ฐ ๊น์ด์ง๋ฉด ๊ฒฐ๊ตญ ๋ฌด๊ฑฐ์์ง์์. ํ์ํ๊ธฐ๊ฐ
- ๊ทธ๋ฌ๋๊น ์ฆ, ๊น์ด๊ฐ ๋ฎ์๋์ ๊น์ด๊ฐ ๊น์๋ ํํ ์ฐ๊ฒฐํด ๋ฒ๋ ค์ ์ด์ ์ฒ๋ผ ์ค๋ณตํด์ ํฌ์ธํฐ ์ด๋์ด ๋ฐ์ํ์ง ์๋๋ก ํด๋ณด์.
- ์ด๋ฐ๊ฑฐ์ผ.
- ์์ ๊ทธ๋ฆผ๋ณด๋ฉด ๊ฒฐ๊ตญ ์ผ์ชฝ ๊ฐ์ ๊ฒฝ์ฐ ๊น์ด๊ฐ ๊น์ ๋์ ๋ฎ์๋ํํ ์ฐ๊ฒฐํด๋ฒ๋ ค์ ์ด์ ๋ณด๋ค 1๋งํผ ๊น์ด๊ฐ ๋์ด๋ฌ์ง.
- ๊ทธ๋ฐ๋ฐ ์ค๋ฅธ์ชฝ ๊ฐ์ ๊ฒฝ์ฐ ๋ฎ์ ๋์ ๊น์๋ํํ ์ด๊ฒฐํด์ ๊น์ด๊ฐ ์ด์ ๋ณด๋ค ์ค์ด๋ค์์ด
- ๊ฒฐ๊ตญ ๊น์ด๊ฐ ๋ฎ์๊ฒ ์ต๊ณ ์ข๋ค ์ด๊ฑฐ์ผ. ๊ทธ๋์ผ find ์ฐ์ฐ์ด ์ ๊ฒ๋ค์ง.
์ต๊ณ ๊น์ด
- ๊ทธ๋ผ ์ต๊ณ ๊น์ด๋ฅผ ํ๋จํด๋ณด์.
- ์ต๊ณ ๊น์ด์ง๋๋ก ํ๋ฒ ํด๋ณด๋ฉด, ์์ ๊ฐ์ด ๊ฒฐ๊ตญ ๊น์ด๋ 3์ด์ผ.
- ์ฆ ์ต๋ ๋์ด๋ n๊ฐ์ ์์์ ๋ํด logn์ธ๊ฑฐ์ง.
- ์ด๊ฑธ m๋ฒ unionํ๋ค๊ณ ํ๋ฉด ํ๋ฒ์ union์ ๋ํด logn์ find๋ฅผ ์ํ
- O(mlogn)
๊ฒฝ๋ก ์์ถ
- ์ ๊ทธ๋ฐ๋ฐ, find๋ฅผ ํ ๋, ๊ฒฝ๋ก ์์ถ๊น์ง ํ ์ ์๋ค.
- ์ฐพ๋ ๊ณผ์ ์ ์ฌ๊ท์ ์ผ๋ก ์ํ๋๋๋ฐ ์ด๋, ์ต๊ณ root node๋ฅผ ์ฐพ์๋ค๋ฉด ๋์์ค๋ฉด์ ์ฐพ์๋ node๋ฅผ root์ ์์์ผ๋ก ๋ง๋ค์ด ๋ฒ๋ฆฌ๋ ๊ฒ