ํฌ๋ฃจ์ค์นผ(Kruscal) ์๊ณ ๋ฆฌ์ฆ
์ต์ ๋น์ฉ ์ ์ฅํธ๋ฆฌ(Minimum Spanning Tree) ๋ํ์ ์ธ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋๋ก ๊ทธ๋ํ ๋ด์ ๋ชจ๋ ์ ์ ๋ค์ ๊ฐ์ฅ ์ ์ ๋น์ฉ์ผ๋ก ์ฐ๊ฒฐํ๊ธฐ ์ํด ์ฌ์ฉํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
[Algorithm] ์ต์ ๋น์ฉ ์ ์ฅ ํธ๋ฆฌ (MST, Minimum SpanningTree) (tistory.com)
์ด์ ์ ํฌ์คํ
ํ ์ต์ ๋น์ฉ ์ ์ฅ ํธ๋ฆฌ์ ๋ค์ฏ๊น์ง ํน์ง์ ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์๋ ๋๊ฐ์ด ์ ์ฉ๋๋ค.
1. ์ฌ์ดํด์ด ์๋ ๊ทธ๋ํ
2. ๊ฐ์ค์น๋ฅผ ๊ฐ์ง ๊ทธ๋ํ
3. ์ต์ํ์ ์ฐ๊ฒฐ์ ํ ๊ทธ๋ํ ( N๊ฐ์ ์ ์ → N-1๊ฐ์ ๊ฐ์ )
4. ํธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ทธ๋ํ
5. ๋ํ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ํ๋ฆผ, ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ค.
ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ ์ ํ์ ์๊ฐ๋ง๋ค ๋์์์ ๋ณด์ด๋ ์ต์ ์ ์ํฉ๋ง์ ์ซ์ ์ต์ข ์ ์ธ ํด๋ต์ ๋๋ฌํ๋ ๋ฐฉ๋ฒ์ธ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ผ์ข ์ด๋ค. ์ฆ, ๊ทธ๋ํ ๊ฐ์ ๋ค์ ๊ฐ์ค์น์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ณ ์ฌ์ดํด์ ํ์ฑํ๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ์ ๋ ฌ๋ ์์๋๋ก ๊ฐ์ ์ ์ ํํ๋ค. ์ด๋ฅผ ๊ทธ๋ฆผ๊ณผ ํ๋ก ์์๋ณด๋ฉด ์๋์ ๊ฐ์ด ํํํ ์ ์๋ค.
ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ์ ์ ๊ฐ์๊ฐ E๊ฐ ์ผ ๋, O(ElogE)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.
ํฌ๋ฆฌ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์์ ์๊ฐ์ด ๊ฐ์ฅ ์ค๋ ๊ฑธ๋ฆฌ๋ ๋ถ๋ถ์ด ๊ฐ์ ์ ์ ๋ ฌํ๋ ์์
์ด๋ฉฐ, E๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ์ ๋์ ์๊ฐ ๋ณต์ก๋๋ O(ElogE)์ด๊ธฐ ๋๋ฌธ์ด๊ณ , ํฌ๋ฃจ์ค์นผ ๋ด๋ถ์์ ์ฌ์ฉ๋๋ ์๋ก์ ์งํฉ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋๋ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋๋ณด๋ค ์์ผ๋ฏ๋ก ๋ฌด์ํ๋ค.
'๐จ๐ปโ๐ป programming > โฝ ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm/ Sparse Table (ํฌ์ํ ์ด๋ธ)] ๋ฐฑ์ค 17435๋ฒ๊ณผ ํจ๊ป (0) | 2023.02.01 |
---|---|
[Algorithm/Shortest Path] A* ์๊ณ ๋ฆฌ์ฆ - ๊ตฌํC++ (0) | 2022.06.20 |
[Algorithm/MST] ํ๋ฆผ(Prim) ์๊ณ ๋ฆฌ์ฆ (0) | 2022.03.07 |
[Algorithm] ์ต์ ๋น์ฉ ์ ์ฅ ํธ๋ฆฌ (MST, Minimum SpanningTree) (0) | 2022.02.17 |
[Algorithm] Union-Find (0) | 2022.02.14 |
์ ํ๋ ๊ฒ ๋ณด๋ค ๋ซ๊ฒ ์ง
ํฌ์คํ ์ด ์ข์๋ค๋ฉด "์ข์์โค๏ธ" ๋๋ "๊ตฌ๋ ๐๐ป" ํด์ฃผ์ธ์!