BFS
-
- [์ด์ฐ ์ํ] ๊ทธ๋ํ์ ํ์ฉ
๊ทธ๋ํ์ ํ์ฉ ๋คํธ์ํฌ์ ๋ฐ์ดํฐ ํ๋ฆ์ด๋ ์ค์ผ์ค๋ง, ๋ ผ๋ฆฌํ๋ก ์ค๊ณ, ์ ๋ ฌ, ํ์, ์ธ๊ณต์ง๋ฅ์ ์ง์ ์ ๋ณด ์์ฑ ๊ณผ์ ๋ฑ ๊ทธ๋ฆฌ๊ณ ์ค์ํ์์ ๋ง์ด ์ ํ ์ ์๋ ๋๋ก๋ง ์ค๊ณ๋ ๋ฒ์ค ๋ฐ ์งํ์ฒ ๋ ธ์ ์ค๊ณ ๋ฑ๊ณผ ๊ฐ์ด ์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ชจ๋ธ๋ง ๊ณผ์ ์์ ๊ทธ๋ํ ์ด๋ก ์ ๋งค์ฐ ์ค์ํ๊ฒ ์ฐ์ธ๋ค. ์ด๋ฌํ ๋ชจ๋ธ๋ง์์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๊ฑฐ๋ ์ ๋ณด ํ์์ ํ๋ ๋ฐฉ๋ฒ์ด ๋ง์ด ์ฐ์ธ๋ค. ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ (Shortest Path Problem) $|E| > 0$ ์ธ ์ฐ๊ฒฐ ๊ทธ๋ํ $G = (V, \; E)$ ์์ ์ ์ $v_{1}, v_{2} \in V$ ๊ฐ์ ๊ฐ์ฅ ์งง์ ๊ฑฐ๋ฆฌ์ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ๋ฌธ์ ์ง๋์ ์ด๋ค ์ง์ญ A์์ ๋ค๋ฅธ ์ง์ญ B๋ก ์ด๋ํ๋ ๊ฒฝ๋ก๋, ๋คํธ์ํฌ์ ์ด๋ค ํธ์คํธ A์์ ๋ค๋ฅธ ํธ์คํธ B๋ก ์ด๋ํ๋ ๊ฒฝ๋ก๋ ๋ค์ํ ์ ์..
2022.11.27 -
- [Algorithm] ๋ฐฑํธ๋ํน(Backtracking)
๋ฐฑํธ๋ํน(Backtracking) ๊ฐ๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ณ ๋ คํ๋ ์๊ณ ๋ฆฌ์ฆ ์ํ ๊ณต๊ฐ์ ํธ๋ฆฌ(Tree)๋ก ๋ํ๋ผ ์ ์์ ๋ ์ ํฉํ ๋ฐฉ์์ด๋ค. ์ผ์ข ์ ํธ๋ฆฌ ํ์ ์๊ณ ๋ฆฌ์ฆ(Tree Search Algorithm)์ด๋ผ๊ณ ๋ด๋ ๋๋ค. ๋ฐฉ์์ ๋ฐ๋ฅธ ๋ถ๋ฅ ๊น์ด ์ฐ์ ํ์(Depth First Search, DFS) ๋๋น ์ฐ์ ํ์(Breadth First Search, BFS) ์ต์ ์ฐ์ ํ์(Best First Search / Heuristic Search) ๊ฒฝ์ฐ์ ์ ๊ตฌํ๊ธฐ๋ ์ผ๋ฐ์ ์ผ๋ก DFS๊ฐ ํธ๋ฆฌํ๋ฉฐ, ๋๋ค์์ ๋ฌธ์ ๋ค์ DFS๋ฅผ ์จ๋ ์ผ๋จ ๋ต์ ๋์จ๋ค. ํ์ง๋ง, ํธ๋ฆฌ์ ๊น์ด(Depth)๊ฐ ๋ฌดํ๋๊ฐ ๋ ๊ฒฝ์ฐ์๋ DFS๋ฅผ ์ฌ์ฉํ๋ฉด ์๋๋ค. ์) ๋ฏธ๋ก ์ฐพ๊ธฐ์์ ๋ฃจํ(ํ๋ก)๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ, DFS๋ ์ด ๊ฐ์ง๋ฅผ ..
2022.11.16 -
- [Algorithm] ๋ธ๋ฃจํธ ํฌ์ค(Brute Force)
๋ธ๋ฃจํธ ํฌ์ค(Brute Force) ๊ฐ๋ ๋ธ๋ฃจํธ(Brute)์ ํฌ์ค(Force)๊ฐ ๊ฒฐํฉ๋์ด ๋ง๋ค์ด์ง ๋จ์ด์ด๋ฉฐ, "๋ํญํ ํ(ํญ๋ ฅ)" ์ด๋ผ๋ ๋ป์ด๋ค. ๋ฌธ์ ํด๊ฒฐ์ ์ํด ์ค๋ ๊ฑธ๋ฆฌ๊ณ ์์์ด ๋ง์ด ๋ค์ด์ ๋ฌด์ํ๋ค๊ณ ์๊ฐ๋ ์๋ ์์ง๋ง, ํญ์ 100%์ ์ ํ์ฑ์ ๋ณด์ธ๋ค. ์ ๋ต(Solution)์ด ๋ฐ๊ฒฌ๋ ๋๊น์ง ๊ฐ๋ฅํ ๋ชจ๋ ์ ํ์ง๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ด๋ค. ์) 4์๋ฆฌ ์ซ์์ ํจ์ค์๋๋ฅผ ์ฐพ๊ธฐ ์ํด 0000๋ถํฐ 9999๊น์ง ํ๋์ฉ ์ ๋ ฅํ์ฌ ์ฐพ์๋ณด๋ ๊ฒฝ์ฐ ๋ฐ๋ผ์ ๋ธ๋ฃจํธ ํฌ์ค ์๊ณ ๋ฆฌ์ฆ์ ์์ ํ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ํ ์ ์๋ค. ๊ฐ๋จํ๊ณ ์ผ๊ด์ ์ด์ง๋ง, ๋งค์ฐ ๋๋ฆฌ๋ค๋ ๋จ์ ์ด ์๋ค. ๊ฑฐ์ ์๋ฒฝํ๊ฒ ๋ณ๋ ฌ ์์ ์ด ๊ฐ๋ฅํ์ฌ ๋ณ๋ ฌ ํ๋ก๊ทธ๋๋ฐ์์ ์ฌ์ฉ๋๋ค. ํจํด ๋งค์นญ(Pattern Matching) ๋ฑ์ ์์ ์ ์ฌ์ฉ๋ ์ ์๋ค. ๋๋น ์ฐ์ ํ..
2022.11.03