์๊ณ ๋ฆฌ์ฆ
[Algorithm] ํ์ ์๊ณ ๋ฆฌ์ฆ DFS/BFS
DFS (Depth-First-Search) ๊น์ด ์ฐ์ ํ์์ด๋ผ๊ณ ๋ ๋ถ๋ฅด๋ฉฐ, ๊ทธ๋ํ์์ ๊น์ ๋ถ๋ถ์ ์ฐ์ ์ ์ผ๋ก ํ์ํ๋ ์๊ณ ๋ฆฌ์ฆ ์ด๋ค. DFS์ ์ฅ์ ํ ๊ฒฝ๋ก์์ ๋ ธ๋๋ฅผ ๊ธฐ์ตํ๊ธฐ ๋๋ฌธ์ ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค. ์ฐพ์ผ๋ ค๋ ๋ ธ๋๊ฐ ๊น์ ๋จ๊ณ์ ์๋ ๊ฒฝ์ฐ BFS ๋ณด๋ค ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ค. DFS์ ๋จ์ ํด๊ฐ ์๋ ๊ฒฝ๋ก๋ฅผ ํ์ ํ ๊ฒฝ์ฐ ๋จ๊ณ๊ฐ ๋๋ ๋๊น์ง ํ์ํฉ๋๋ค. ํจ์จ์ฑ์ ๋์ด๊ธฐ ์ํด์ ๋ฏธ๋ฆฌ ์ง์ ํ ์์ ๊น์ด๊น์ง๋ง ํ์ํ๊ณ ํด๋ฅผ ๋ฐ๊ฒฌํ์ง ๋ชปํ๋ฉด ๋น ์ ธ๋์ ๋ค๋ฅธ ๊ฒฝ๋ก๋ฅผ ํ์ํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค. DFS๋ฅผ ํตํด์ ์ป์ด์ง ํด๊ฐ ์ต๋จ ๊ฒฝ๋ก๋ผ๋ ๋ณด์ฅ์ด ์์ต๋๋ค. DFS๋ ํด์ ๋์ฐฉํ๋ฉด ํ์์ ์ข ๋ฃํ๊ธฐ ๋๋ฌธ์ด๋ค. BFS (Breadth-First-Search) ๋๋น ์ฐ์ ํ์์ด๋ผ๊ณ ๋ ๋ถ๋ฅด๋ฉฐ ๊ฐ๊น์ด ๋ ธ๋๋ถํฐ ํ์ํ๋ ์..
[Algorithm] ์๊ณ ๋ฆฌ์ฆ์ ๋ณต์ก๋์ Big-O ๋?
์๊ณ ๋ฆฌ์ฆ์ด๋ ์ด๋ค ๋ชฉ์ ์ ๋ฌ์ฑํ๊ฑฐ๋ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ค์ด๋ด๊ธฐ ์ํด ๊ฑฐ์ณ์ผ ํ๋ ์ผ๋ จ์ ๊ณผ์ ๋ค์ ์งํฉ์ ์๋ฏธํ๋ค. ๊ฐ๋ ๋ฃจํธ๋ ๋ค์ํ๋ฉฐ ์ฌ๋ฌ๊ฐ์ง ์ํฉ์ ๋ฐ๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ ๋ชจ๋ ๋ค๋ฅด๋ค. ๋ฐ๋ผ์ ์๊ฐ๋ณต์ก๋๊ฐ ๊ฐ์ฅ ๋ฎ์ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ์ฌ ์ฌ์ฉํ๋ค. ๋ณต์ก๋(Complexity)๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ์ ๋ํ๋ด๋ ์ฒ๋์ด๋ค. ๋ณต์ก๋๋ ์๊ฐ ๋ณต์ก๋์ ๊ณต๊ฐ ๋ณต์ก๋๋ก ๋๋ ์ ์๋ค. ์๊ฐ ๋ณต์ก๋ ํน์ ํ ํฌ๊ธฐ์ ์ ๋ ฅ์ ๋ํ์ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ํํ ๋ ์ฐ์ฐ์ด ๋ช๋ฒ ์ด๋ฃจ์ด์ง๋ ์ง๋ฅผ ํ๊ธฐ ๊ณต๊ฐ ๋ณต์ก๋ ํน์ ํ ํฌ๊ธฐ์ ์ ๋ ฅ์ ๋ํ์ฌ ์๊ณ ๋ฆฌ์ฆ์ด ์ผ๋ง๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ๋์ง๋ฅผ ์๋ฏธ ๋์ผํ ๊ธฐ๋ฅ์ ์ํํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ค๋ฉด ์ผ๋ฐ์ ์ผ๋ก ๋ณต์ก๋๊ฐ ๋ฎ์์๋ก ์ข์ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋น ์ค ํ๊ธฐ๋ฒ(Big O Notation) ๋ณต์ก๋๋ฅผ ํํํ ๋์๋ ๋น ์ค ํ๊ธฐ๋ฒ์ ..