[Algorithm] DFS์™€ BFS


๐Ÿ™‡โ€โ™€๏ธ ์–ธ์ œ ์‚ฌ์šฉํ• ๊นŒ?


DFS: ๋…ธ๋“œ๊ฐ€ ๊นŠ์ด ์กด์žฌํ•  ๋•Œ ํ•ด๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ•ด๊ฐ€ ์—†๋Š” ๊ฒฝ๋กœ๋กœ ๋น ์งˆ ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ๊ตฌํ•œ ํ•ด๊ฐ€ ์ตœ์ ์ด ์•„๋‹ ์ˆ˜ ์žˆ๋‹ค.

BFS: ๋”ฐ๋ผ์„œ ํŠน์ • ์กฐ๊ฑด์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ณ„์‚ฐํ•  ๋•Œ BFS๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋˜ํ•œ DFS์— ๋น„ํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋งŽ์ด ํ•„์š”๋กœ ํ•œ๋‹ค. ๋˜ํ•œ ๋ฌดํ•œ ๊ทธ๋ž˜ํ”„์ผ ๊ฒฝ์šฐ ํ•ด๋ฅผ ์ฐพ์ง€ ๋ชปํ•˜๊ณ  ๋ฌดํ•œ ๋ฃจํ”„์— ๋น ์ง„๋‹ค.

DFS


์žฌ๊ท€ํ•จ์ˆ˜๋‚˜ ์Šคํƒ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. ํƒ์ƒ‰ ์‹œ์ž‘ ๋…ธ๋“œ๋ฅผ ์Šคํƒ์— ์‚ฝ์ž… ํ›„ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ
  2. ์Šคํƒ์˜ ์ตœ์ƒ๋‹จ ๋…ธ๋“œ์— ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ธ์ ‘ํ•œ ๋…ธ๋“œ๊ฐ€ ํ•˜๋‚˜๋ผ๋„ ์žˆ์œผ๋ฉด ๊ทธ ๋…ธ๋“œ๋ฅผ ์Šคํƒ์— ๋„ฃ๊ณ  ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ, ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ธ์ ‘ ๋…ธ๋“œ๊ฐ€ ์—†์œผ๋ฉด ์Šคํƒ์—์„œ ์ตœ์ƒ๋‹จ ๋…ธ๋“œ๋ฅผ ๊บผ๋‚ธ๋‹ค.
  3. 2๋ฒˆ ๋ฐ˜๋ณต

*๋ฐฉ๋ฌธ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜๋“œ์‹œ ๊ฒ€์‚ฌ!!(๋ฌดํ•œ ๋ฃจํ”„์— ๋น ์งˆ ์ˆ˜ ์žˆ์Œ)

BFS


ํ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. ํƒ์ƒ‰ ์‹œ์ž‘ ๋…ธ๋“œ๋ฅผ ํ์— ์‚ฝ์ž… ํ›„ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ
  2. ํ์—์„œ ๋…ธ๋“œ๋ฅผ ๊บผ๋‚ธ ๋’ค ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ธ์ ‘ ๋…ธ๋“œ๋ฅผ ๋ชจ๋‘ ํ์— ์‚ฝ์ž… ํ›„ ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ
  3. 2๋ฒˆ ๋ฐ˜๋ณต



# ์นดํ…Œ๊ณ ๋ฆฌ