DFS(Depth-First Search)
Last updated
Last updated
DFS (Depth-First Search)๋ ๊ทธ๋ํ๋ฅผ ํ์ํ๋ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋๋ก, ๊น์ด ์ฐ์ ํ์์ ์ํํฉ๋๋ค. ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ฃผ๋ก ๊ทธ๋ํ๋ฅผ ํ์ํ๊ฑฐ๋ ํน์ ์ํ๋ฅผ ์ฐพ๋ ๋ฌธ์ ์ ์ฌ์ฉ๋ฉ๋๋ค. ์๋๋ DFS์ ๋์ ๋ฐฉ์์ ๋ํ ์ค๋ช ์ ๋๋ค.
์คํ ๋๋ ์ฌ๊ท ํจ์ ์ฌ์ฉ: DFS๋ ์คํ(Stack) ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ฌ๊ท ํจ์๋ฅผ ํตํด ๊ตฌํ๋ฉ๋๋ค. ๊ฐ ์ ์ ์ ๋ฐฉ๋ฌธํ ๋๋ง๋ค ํด๋น ์ ์ ์ ์คํ์ ๋ฃ๊ฑฐ๋, ์ฌ๊ท ํธ์ถ์ ํตํด ๊น์ด ์ฐ์ ์ผ๋ก ํ์์ ์งํํฉ๋๋ค.
๊น์ด ์ฐ์ ํ์: DFS๋ ๊ฐ๋ฅํ ํ ๊น์ด ์ฐ์ ์ผ๋ก ํ์์ ์งํํฉ๋๋ค. ์ฆ, ํ ์ ์ ์์ ์์ํ์ฌ ํด๋น ์ ์ ๊ณผ ์ธ์ ํ ์ ์ ์ ๊ณ์ ๋ฐฉ๋ฌธํ๋ค๊ฐ ๋ ์ด์ ๋ฐฉ๋ฌธํ ์ ์๋ ์ ์ ์ ๋๋ฌํ๋ฉด ๋๋์๊ฐ ์ด์ ์ ์ ์ผ๋ก ๋๋์๊ฐ์ ํ์์ ๊ณ์ํฉ๋๋ค.
๋ฐฉ๋ฌธํ ์ ์ ํ์: ๊ฐ ์ ์ ์ ๋ฐฉ๋ฌธํ ๋๋ง๋ค ํด๋น ์ ์ ์ ์ด๋ฏธ ๋ฐฉ๋ฌธํ๋ค๋ ํ์๋ฅผ ํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ์ ์ ์ ์ ์ฌ๋ฌ ๋ฒ ๋ฐฉ๋ฌธํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ณ ๋ฌดํ ๋ฃจํ๋ฅผ ํผํ ์ ์์ต๋๋ค.
์ฌ๊ท ํธ์ถ: DFS๋ฅผ ์ฌ๊ท ํจ์๋ก ๊ตฌํํ ๋๋ ์ฌ๊ท ํธ์ถ์ ํตํด ๊น์ด ์ฐ์ ํ์์ ์งํํฉ๋๋ค. ์ฌ๊ท ํธ์ถ์ ํตํด ์คํ์ ์ญํ ์ ์ํํ๋ฉฐ, ์ฌ๊ท ํธ์ถ์ ์ข ๋ฃํ ์กฐ๊ฑด์ ๋ช ํํ ํด์ผ ํฉ๋๋ค.
๊ทธ๋ํ์ ์ข ๋ฅ์ ๋ฐ๋ฅธ ์ ์ฉ: DFS๋ ๊ทธ๋ํ์ ๊ตฌ์กฐ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ ์ฉ๋ ์ ์์ต๋๋ค. ๋ฐฉํฅ ๊ทธ๋ํ์ ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ, ๊ฐ์ค์น ๊ทธ๋ํ ๋ฑ ๋ค์ํ ๊ทธ๋ํ์ ์ ์ฉํ ์ ์์ผ๋ฉฐ, ๋ฌธ์ ์ ๋ฐ๋ผ ์ ํฉํ ๋ฐฉ์์ ์ ํํด์ผ ํฉ๋๋ค.