Algorithm/์๊ณ ๋ฆฌ์ฆ ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [์๊ณ ๋ฆฌ์ฆ] ์ต์ ์คํจ๋ ํธ๋ฆฌ_ Kruskal & Prim ์ต์ ์คํจ๋ ํธ๋ฆฌ (MST, Minimum Spanning Tree) ์คํจ๋ ํธ๋ฆฌ๋, ๊ทธ๋ํ์์ ์ํ ์์ด ๋ชจ๋ ์ ์ ์ ์๋ ๋ถ๋ถ ๊ทธ๋ํ๋ฅผ ์๋ฏธํ๋ค. ์ต์ ์คํจ๋ ํธ๋ฆฌ๋, ์ด๋ฌํ ์คํจ๋ ํธ๋ฆฌ ์ค์์ ๊ฐ์ ์ ๊ฐ์ค์น์ ํฉ์ด ๊ฐ์ฅ ์์ ์คํจ๋ ํธ๋ฆฌ๋ฅผ ์๋ฏธํ๋ค. ์ด๋ฌํ ์ต์ ์คํจ๋ ํธ๋ฆฌ๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํฌ๋ฃจ์ค์นผ(Kruskal)๊ณผ ํ๋ฆผ(Prim) ์๊ณ ๋ฆฌ์ฆ์ด ์๋ค. ํฌ๋ฃจ์ค์นผ (Kruskal) ์๊ณ ๋ฆฌ์ฆ ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ ๋ชจ๋ ๊ฐ์ ์ค์์ ๊ฐ์ฅ ๊ฐ์ค์น๊ฐ ์์ ๊ฐ์ ๋ถํฐ ์ฐ๊ฒฐํด ์ฃผ๋ฉด์ ์ต์ ์คํจ๋ ํธ๋ฆฌ๋ฅผ ๋ง๋๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๊ฐ์ ๋ค์ ์ฐ๊ฒฐํ๋ฉด์ ์ํ์ด ๋ฐ์ํ๋ค๋ฉด ํด๋น ๊ฐ์ ์ ๋ฒ๋ฆฌ๊ณ ๋ค์ ๊ฐ์ ์ ์ ํํ๊ฒ ๋๋๋ฐ ์ด ๋, Union-Find ์ฐ์ฐ์ ์ฌ์ฉํ๋ค. ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ ๋ค์ ๊ฐ์ค์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค. .. ๋๋ณด๊ธฐ [์๊ณ ๋ฆฌ์ฆ] ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ _๋ค์ต์คํธ๋ผ & ๋ฒจ๋งํฌ๋ ๋ค์ต์คํธ๋ผ & ๋ฒจ๋งํฌ๋ ์ด ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ทธ๋ํ์์ ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ ์ฌ์ฉ๋๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ ? ์ต๋จ ๊ฒฝ๋ก๋ ๊ทธ๋ํ์์ ๊ฐ์ ์ ๊ฐ์ค์น์ ํฉ์ด ์ต์๊ฐ ๋๋ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ ๋ฅผ ํธ๋๋ฐ ๋ค์ํ ๋ฐฉ๋ฒ์ด ์์ง๋ง, ๋ค์ต์คํธ๋ผ์ ๋ฒจ๋งํฌ๋๋ฅผ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค. ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ(Dijkstra Algorithm) ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๊ทธ๋ํ์์ ์์ ๊ฐ์ค์น๊ฐ ์์ ๋ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ์ฐพ์ ์ ์๋ค. V๊ฐ์ ์ ์ ๊ณผ ์์ ๊ฐ์ค์น๋ฅผ ๊ฐ์ง E๊ฐ์ ๊ฐ์ ์ ๊ฐ์ง ๊ทธ๋ํ์์ ์ถ๋ฐ ์ ์ ์ผ๋ก๋ถํฐ ๋ชจ๋ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ์ฐพ์ ์ ์๋ค. ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ์ด ์งํ๋๋ค. ํ์ฌ ์ ์ ์ ์ฐ๊ฒฐ๋์ด ์๋ ์ ์ ๋ค์ ๋ชจ๋ ๋ณธ๋ค. ํ์ฌ ์ ์ ๊ณผ ์ฐ๊ฒฐ๋๋ ๋ค์ ์ ์ ์ผ๋ก์ ๊ฑฐ๋ฆฌ์ ์์ ์ ์ ๊ณผ ํ์ฌ ์ ์ ๊น์ง์ ์ต๋จ ๊ฑฐ.. ๋๋ณด๊ธฐ [์๊ณ ๋ฆฌ์ฆ] ํฌ ํฌ์ธํฐ & ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ํฌ ํฌ์ธํฐ & ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ์๊ณ ๋ฆฌ์ฆ 1์ฐจ์ ๋ฐฐ์ด์ 2ํ ์ด์ ๋ฐ๋ณต์ ์ผ๋ก ํ์์ ํด์ผํ ๊ฒฝ์ฐ ๋จ์ํ๊ฒ ํ๋ค๋ฉด O(N^2) ์ด์ ์๊ฐ ๋ณต์ก๋๊ฐ ๊ฑธ๋ฆฌ์ง๋ง ํฌ ํฌ์ธํฐ์ ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๊ฒ ๋๋ค๋ฉด ๋ถ๋ถ ๋ฐฐ์ด์ ์ด์ฉํ์ฌ ์๊ฐ ๋ณต์ก๋๋ฅผ O(N)์ผ๋ก ์ค์ผ ์ ์๋ ๊ณตํต์ ์ด ์๋ค. ํฌ ํฌ์ธํฐ๋ ๋ถ๋ถ ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ ๋ณํ ์ ์์ง๋ง, ์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋ ๋ถ๋ถ ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ ๊ณ ์ ์ ์ด๋ผ๋ ์ฐจ์ด์ ์ด ์๋ค. ํฌ ํฌ์ธํฐ(Two Pointer) ํฌ ํฌ์ธํฐ ์๊ณ ๋ฆฌ์ฆ์ 1์ฐจ์ ๋ฐฐ์ด์์ ๊ฐ๊ฐ ๋ค๋ฅธ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ 2๊ฐ์ ํฌ์ธํฐ๋ฅผ ์กฐ์ํด๊ฐ๋ฉด์ ์ํ๋ ๊ฒ์ ์ป๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ด๋ฌํ ํน์ฑ ๋๋ฌธ์ ํฌ ํฌ์ธํฐ๋ ์ฐ์๋๊ณ ๊ธธ์ด๊ฐ ๊ฐ๋ณ์ ์ธ ๋ถ๋ถ ๋ฐฐ์ด๋ค์ ํ์ฉํ์ฌ ํน์ ์กฐ๊ฑด์ ์ผ์น์ํค๋ ๋ฌธ์ ์ ์ ์ฉ์ํฌ ์ ์๋ค. ํฌ ํฌ์ธํฐ๋ก ํด๊ฒฐํด์ผ.. ๋๋ณด๊ธฐ ์ด์ 1 ๋ค์