Algorithm
-
[Algorithm] ๋ค์ต์คํธ๋ผ(Dijkstra) ์๊ณ ๋ฆฌ์ฆAlgorithm 2020. 9. 8. 17:20
์ด ๊ธ์ (https://m.blog.naver.com/ndb796/221234424646) ๋ธ๋ก๊ทธ ๊ธ์ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ(DP)์ ํ์ฉํ ๋ํ์ ์ธ ์ต๋จ ๊ฒฝ๋ก ํ์ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค์ต์คํธ๋ผ๋ ํ๋์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ ๋ ์ด์ ์ ๊ตฌํ๋ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค๋ ํน์ง๋๋ฌธ์ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋จ์ ํ์ฉํ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค. ์ถ๋ฐ ๋ ธ๋๋ฅผ ์ค์ ํฉ๋๋ค. ์ถ๋ฐ ๋ ธ๋์์ ๊ฐ ๋ ธ๋๊น์ง ๊ฐ๋ ์ต์ ๋น์ฉ์ ๋ฐฐ์ด์ ๋ง๋ค์ด ์ ์ฅํฉ๋๋ค. ๋ฐฉ๋ฌธํ์ง ์๋ ๋ ธ๋ ์ค์์ ๊ฐ์ฅ ๋น์ฉ์ด ์ ์ ๋ ธ๋๋ฅผ ์ ํํฉ๋๋ค. ํด๋น ๋ ธ๋๋ฅผ ๊ฑฐ์ณ์ ๊ฐ ๋ ธ๋๋ก ๊ฐ๋ ๊ฒฝ์ฐ๊น์ง ๋น๊ตํ์ฌ ์ต์ ๋น์ฉ์ ๊ฐฑ์ ํฉ๋๋ค. ์ ๊ณผ์ ์์ 3~4๋ฒ ๋ฐ๋ณตํฉ๋๋ค. ์ฌ๊ธฐ์ 3๋ฒ ๊ณผ์ ์์ ์ฝ๋ฉ ๊ตฌํ ์ ๋ฐฐ์ด์ ์์ ํ์ํด์ ์ต์ ..
-
[Algorithm] Kruskal Algorithm(ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ)Algorithm 2020. 9. 6. 03:20
์ด ๊ธ์ (https://m.blog.naver.com/ndb796/221230994142) ๋ธ๋ก๊ทธ๋ฅผ ๋ณด๊ณ ์์ฑํ์์ต๋๋ค. Kruskal Algorithm ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ ์ฐ๊ฒฐ๋ ๊ทธ๋ํ์์ ๊ฐ์ฅ ์ต์ ๋น์ฉ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ๋ค๋ฅธ ๋ง๋ก๋ ์ต์ ๋น์ฉ ์ ์ฅ ํธ๋ฆฌ๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๋ํ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค. ํ๋ก๊ทธ๋๋จธ์ค (https://programmers.co.kr/learn/courses/30/lessons/42861?language=cpp) ์ด ๋ฌธ์ ๋ฅผ ์์๋ก ๋ค์ด ์ค๋ช ํ๋๋ก ํ๊ฒ ์ต๋๋ค. ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ ์ฐ๊ธฐ ์ํ ํต์ฌ ๊ฐ๋ ์ ํฌ๊ฒ 3๊ฐ์ง๊ฐ ์กด์ฌํฉ๋๋ค. ์ต์ ๋น์ฉ ์์์ ๋ง๊ฒ ๊ฐ์ ๋ค์ ์ ๋ ฌ์ํต๋๋ค. ์ ๋ ฌ๋ ์์์ ๋ง๊ฒ ๊ทธ๋ํ์ ํฌํจ์ํค๋๋ฐ ํฌํจ์..
-
[Algorithm] Union - Find (์ ๋์จ ํ์ธ๋)๋?Algorithm 2020. 9. 6. 02:38
์ด ๊ธ์ (https://m.blog.naver.com/ndb796/221230967614) ๋ธ๋ก๊ทธ๋ฅผ ๋ณด๊ณ ์์ฑํ์์ต๋๋ค. Union Find ์ ๋์จ ํ์ธ๋๋ ๋ํ์ ์ธ ๊ทธ๋ํ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ์ฌ๋ฌ ๊ฐ์ ๋ ธ๋๊ฐ ์์ ๋ ๋ ๊ฐ์ง์ ๋ ธ๋ ํ๋์ ๊ทธ๋ํ๋ก ์ฐ๊ฒฐ๋์ด ์๋์ง ํ๋ณํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ๋จผ์ , ๋ฐฐ์ด์ ๋ง๋ค์ด์ ํด๋น ๋ ธ๋๋ฒํธ๋ก ๋ถ๋ชจ ๋ ธ๋๋ฒํธ๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ํฉ๋๋ค. ์ฒ์์๋ ๋น์ฐํ ์ฐ๊ฒฐ๋ ๊ทธ๋ํ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ ์์ ์ ๋ ธ๋๋ฒํธ๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ๋ฉ๋๋ค. 1๊ณผ 2๋ฅผ ์ฐ๊ฒฐํ๊ฒ ๋๋ฉด ํฉ์น๋ค๋ ๋ป์์ Union์ด๋ผ๊ณ ๋ถ๋ฅด๊ณ ๋ ธ๋๋ฒํธ ์ค ์์ ๋ ธ๋๋ฒํธ๊ฐ ๋ถ๋ชจ๋ ธ๋๊ฐ ๋ฉ๋๋ค. ์ด๋ ๊ฒ๋ง ๊ตฌํํ ๊ฒฝ์ฐ 2์ 3์ด ์ฐ๊ฒฐํ๊ฒ ๋๋ฉด ๋ถ๋ชจ๋ ธ๋๊ฐ 2๊ฐ ๋๋๋ฐ 1๊ณผ 3์ด ๊ฐ์ ๊ทธ๋ํ๋ก ์ฐ๊ฒฐ๋์ด ์๋์ง๋ ์ ์๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฌ๊ทํจ์๋ฅผ..