Algo-dfs.md


  • ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” DFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋…


๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰

DFS - Depth First Search

dfsimg

ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ์ธ์ ‘ํ•œ ๋…ธ๋“œ๊ฐ€ ์—†์„ ๋•Œ๊นŒ์ง€(๊ฐ€์žฅ ๊นŠ์€ ๋…ธ๋“œ๊นŒ์ง€) ํƒ์ƒ‰ํ•œ ๋’ค ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ํƒ์ƒ‰์„ ํ•˜๋Š” ๋ฐฉ์‹

โ˜ ํŠน์ง•

  • ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ํƒ์ƒ‰ํ•ด์•ผ ํ•  ๋•Œ ํ™œ์šฉํ•˜๊ธฐ ์ข‹์€ ๋ฐฉ์‹

  • BFS์— ๋น„ํ•ด ๊ฐ„๋‹จ

  • ๋‹จ์ˆœ ๊ฒ€์ƒ‰ ์†๋„๋Š” BFS์— ๋น„ํ•ด ๋А๋ฆผ

โ˜ ํƒ์ƒ‰ ๊ณผ์ •

  • ํ˜„์žฌ ๋…ธ๋“œ์— ์ธ์ ‘ํ•˜๊ณ  ๋ฐฉ๋ฌธ๋œ์  ์—†๋Š”(์Šคํƒ์— ์•ˆ์Œ“์ธ) ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธ

  • ํ˜„์žฌ ๋…ธ๋“œ์—์„œ ์ธ์ ‘ํ•˜๊ณ  ๋ฐฉ๋ฌธ๋œ ์  ์—†๋Š” ๋…ธ๋“œ๊ฐ€ ์—†์„ ๊ฒฝ์šฐ backtrackingํ•˜์—ฌ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์˜ ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•œ๋‹ค.

โ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„ ๊ตฌํ˜„ ๋ฐฉ์‹์—๋Š” ํ–‰๋ ฌ(2์ฐจ์› ๋ฐฐ์—ด)๋กœ ๊ตฌํ˜„ํ•˜๋Š” ์ธ์ ‘ ํ–‰๋ ฌ ๋ฐฉ์‹๊ณผ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ ๋ฐฉ์‹์ด ์žˆ๋‹ค.

  • ๋˜ํ•œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์Šคํƒ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ๋กœ๋Š” ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋งค์šฐ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. dfsimage

  • Adjacency Matrix - ์ธ์ ‘ ํ–‰๋ ฌ

  • Adjacency List - ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ

  • ์‹ค์ œ ๊ตฌํ˜„

Last updated