[์๋ฃ๊ตฌ์กฐ] ๋์ค์กฐ์ธํธ-์
(Disjoint-Set) - ์ ๋์จ ํ์ธ๋
ํด๋น ๊ธ์ ๋ง์ด๊ตฌ๋ฏธ๋์ ๊ธ๊ณผ ์ํค๋ฐฑ๊ณผ๋ฅผ ์ฐธ๊ณ ํ๋ฉฐ ์ค์ค๋ก ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ฒ์
๋๋ค. Disjoint-Set์ ๊ฐ์ด ๊ณต๋ถํด๋ด
์๋ค! Disjoint(์๋ก์) Set(์งํฉ)๋ ๋ง์ ์๋ก์ ๋ถ๋ถ์งํฉ๋ค๋ก ๋๋ ์ง ์์๋ค์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ์กฐ์ํ๋ ์๋ฃ๊ตฌ์กฐ์
๋๋ค. ์ด๋ฌํ ํน์ง์ผ๋ก ์ธํด Disjoint Set์ ํํฐ์
(partitioning) ๋ฌธ์ ์ ์ฃผ๋ก ์ด์ฉ๋ฉ๋๋ค. Disjoint Set ์๋ฃ๊ตฌ์กฐ์๋ 3๊ฐ์ง์ ์ค์ํ ์ฐ์ฐ์ด ์กด์ฌํฉ๋๋ค. ์๋ก์ ์งํฉ์ด๋? ๊ณตํต ์์๊ฐ ์๋ ๋ ์งํฉ, ๊ต์งํฉ์ด ๊ณต์งํฉ์ธ ์งํฉ์
๋๋ค. ์ฐ์ฐ ๋ฉ์ดํฌ ์
(MakeSet): ๋ง ๊ทธ๋๋ก ํน์ ํ ์์๋ง์ ๊ฐ์ง๋ ์งํฉ(๋ค)์ ๋ง๋๋ ๊ฒ์
๋๋ค. ํ์ธ๋ (Find): ์ด๋ค ์์๊ฐ ์ฃผ์ด์ก์ ๋ ์ด ์์๊ฐ ์ํ ์งํฉ์ ๋ฐํ ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ํด..
2020.12.24