728x90
์๋ก์์ธ ์งํฉ์ ํํ (Disjoint Sets)
- ์๋ก์์ธ ์งํฉ : ์ ์ฒด์งํฉ์ ๋ถ๋ถ์งํฉ๋ค ์ค, ๋์ ๊ณ ๋ฅด๋ฉด ๊ต์งํฉ=๊ณต์งํฉ, ์ ์ฒด ํฉ์งํฉ=U
- U์ ๋ ์์๊ฐ ๊ฐ์ ๋ถ๋ถ์งํฉ์ ์์์ธ์ง ์๋์ง ์ด๋ป๊ฒ ์ ์ ์์๊น?
- ์ ์ฅํธ๋ฆฌ : ๊ทธ๋ํ G์ ๋ ธ๋๋ฅผ ๋ชจ๋ ํฌํจํ๋, E์ ์ํ๋ ์์ง๋ก ๋ง๋ ํธ๋ฆฌ
- ์ต์์ ์ฅํธ๋ฆฌ : ํธ๋ฆฌ์ ์ํ ๊ฐ์ค์น์ ํฉ์ด ๊ฐ์ฅ ์์ ์ ์ฅ ํธ๋ฆฌ.
์ต์ ์ ์ฅ ํธ๋ฆฌ (MST) ๋ง๋ค๊ธฐ
- Prim’s algorithm : ํ์ฌ ์งํฉ(๋
ธ๋๋ค)๊ณผ ์ฐ๊ฒฐ๋ ์์ง ์ค ๊ฐ์ค์น๊ฐ ์ต์์ธ ๊ฒ์ MST ์งํฉ์ ํฌํจ์ํด.
- ๊ตฌํ๋ฒ์ ๋ฐ๋ผ ์๊ฐ๋ณต์ก๋๊ฐ ์ฐจ์ด๋จ
- ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ = ํน์ ์์๋ ธ๋๋ถํฐ ๋ค๋ฅธ ๋ ธ๋๋ค๊น์ง์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํจ. ์ /๋ฌดํฅ ๊ทธ๋ํ ํ๋ฆผ ์๊ณ ๋ฆฌ์ฆ = ๋ชจ๋ ๋ ธ๋๋ค์ ์ต์๋น์ฉ์ผ๋ก ์ฐ๊ฒฐ / ๋ ๋ ธ๋์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ ์ต๋จ๊ฑฐ๋ฆฌ๊ฐ ์๋ ์ ์์. ๋ฌดํฅ ๊ทธ๋ํ
- ๋งค๋ฒ ๋จ์์๋ ์์ง ์ค ์ต์๋ฅผ ์ฐพ๋๋ค๋ฉด, $O(|V|^2)$
- ์ฐ์ ์์ ํ๋ฅผ ํตํด ํ๋ฒ์ $O(log |V|)$ → ๋ฐ๋ณต ์ $O((|V|+|E|) log |V|)$
- Kruskal’s algorithm : ๊ทธ๋ฆฌ๋์ ์ผ์ข
, ์์ง๋ฅผ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ ํ ์ฌ์ดํด์ด ์๋๋ก ์์๊ฒ๋ถํฐ ์ ํ
- ์ ํ๋๋ ์๋ช
- ์ฌ์ด ๊ตฌํ : ๋ชจ๋ ๋ ธ๋์ ๋ค๋ฅธ ์์ ํ ๋นํ์ฌ, ์์ง๋ก ์ฐ๊ฒฐ๋๋ฉด ๊ฐ์ ์์ผ๋ก ๋ค์ ์น ํจ. ๊ฐ์์์ ์์ง๋ฅผ ๋ค์ ์น ํ๋ฉด ์ฌ์ดํด!
์๋ก์์ธ ์งํฉ์ ํํ
- ๊ฐ ์งํฉ์ ์ผ์ข ์ ํธ๋ฆฌ๋ก ์๊ฐ, ํ ๋ ธ๋์์ ๋ฃจํธ๋ฅผ ์ฐพ์ ์ฌ๋ผ๊ฐ๊ธฐ
- ๋ ์งํฉ์ ํฉ์น๋ ค๋ฉด, ๊ฐ์ฅ ๋์ ๋ ธ๋๊ฐ ๋ฃจํธ๊ฐ ๋๊ณ ๋ค๋ฅธ ์งํฉ์ ๋ฃจํธ๋ ๊ทธ ๋ฃจํธ์ ์์์ผ๋ก. (union find)
728x90
'๐ ์ ๊ณต ๊ณต๋ถ > ๋ฌธ์ ํด๊ฒฐ๊ธฐ๋ฒ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฌธ์ ํด๊ฒฐ๊ธฐ๋ฒ] 10. ๊ณ์ฐ ๊ธฐํ (1) | 2023.06.16 |
---|---|
[๋ฌธ์ ํด๊ฒฐ๊ธฐ๋ฒ] 9. Flow Networks (0) | 2023.06.16 |
[๋ฌธ์ ํด๊ฒฐ๊ธฐ๋ฒ] 7. ์ด๋ถ ํ์ (0) | 2023.04.19 |
[๋ฌธ์ ํด๊ฒฐ๊ธฐ๋ฒ] 6. ์ธ๊ทธ๋จผํธ ํธ๋ฆฌ (0) | 2023.04.18 |
[๋ฌธ์ ํด๊ฒฐ๊ธฐ๋ฒ] 5. ์์ฌ์์ด ๊ธฐ๋ฒ (0) | 2023.04.17 |