Computer Science/Algorithm

๊ฒ€์ƒ‰๊ฒฐ๊ณผ 1 ๊ฐœ
[Algorithm | Python] ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ - BFS, DFS ๊ฐœ๋… ์ •๋ฆฌ

DFS์™€ BFS ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๊ฐœ๋…์„ ์ตํ˜”๋‹ค ํ•ด๋„ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ ํ’€์ด์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ฒ˜์Œ์—๋Š” ์‰ฝ์ง€ ์•Š์€๋ฐ, ๊ณ„์† ํ’€๋‹ค ๋ณด๋‹ˆ ์ „ํ˜•์ ์ธ ํ’€์ด ํŒจํ„ด์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ธฐ๋ณธ์ ์ธ BFS, DFS ๊ตฌํ˜„ ์ฝ”๋“œ๋ฅผ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ๐Ÿ“Œ ๊ฒฐ๊ตญ DFS, BFS์˜ ๊ธฐ๋ณธ ์ž‘๋™ ์›๋ฆฌ๋Š” ํƒ์ƒ‰ ์‹œ์ž‘ ๋…ธ๋“œ ๋ฐฉ๋ฌธ+๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ → ์ธ์ ‘ ๋…ธ๋“œ ๋ฐฉ๋ฌธ+๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ์ด๋‹ค. (*๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ์ด์œ  : ๊ฐ™์€ ๋…ธ๋“œ๋ฅผ ์ค‘๋ณตํ•ด์„œ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•จ) ๐Ÿ“Œ ๋‹จ, LIFO(Last-In First-Out)์ธ stack๊ณผ stack memory๋ฅผ ํ™œ์šฉํ•˜๋Š” recursion(์žฌ๊ท€) ↔ FIFO(First-In First-Out)์ธ queue์˜ ํŠน์„ฑ์ด ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๊ท€๊ฒฐ๋œ๋‹ค๊ณ  ์ดํ•ดํ•˜๋ฉด ์‰ฝ๊ฒ ๋‹ค. ๊ฐœ๋… DFS๋ž€? Depth-First Search ..