๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

CS/TOPCIT

[TOPCIT] 01์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ_3.์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ฐ˜์‘ํ˜•

3. ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

3.1 ์ž๋ฃŒ๊ตฌ์กฐ(Data Structure)

์ •์˜

  • ์ž๋ฃŒ๋ฅผ ์ปดํ“จํ„ฐ์˜ ๊ธฐ์–ต์žฅ์น˜ ๋‚ด์— ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ• => ์ž๋ฃŒ์˜ ํŠน์„ฑ๊ณผ ์‚ฌ์šฉ ์šฉ๋„๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์กฐ์ง์ , ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌ

๋ถ„๋ฅ˜

  • ์„ ํ˜•๊ตฌ์กฐ์™€ ๋น„์„ ํ˜•๊ตฌ์กฐ
    • ์„ ํ˜•๊ตฌ์กฐ : ์ž๋ฃŒ๊ฐ€ ์ผ๋ ฌ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ํ˜•ํƒœ ex) ๋ฐฐ์—ด, ์„ ํ˜•๋ฆฌ์ŠคํŠธ, ์Šคํƒ, ํ, ๋ฐํฌ ๋“ฑ
    • ๋น„์„ ํ˜•๊ตฌ์กฐ : ์ž๋ฃŒ์˜ ๊ตฌ์„ฑ์ด ๊ณ„์ธต๊ตฌ์กฐ๋‚˜ ๋ง๊ตฌ์กฐ์˜ ํŠน๋ณ„ํ•œ ํ˜•ํƒœ ex) ํŠธ๋ฆฌ, ๊ทธ๋ž˜ํ”„ ๋“ฑ

์Šคํƒ๊ณผ ํ

  • ์Šคํƒ
    • ๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ๋œ ์ˆœ์„œ๋กœ ๊ธฐ์–ต๊ณต๊ฐ„์— ์ €์žฅ๋˜์–ด ์ถœ๋ ฅ ์‹œ ํ›„์ž…์„ ์ถœ ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ
    • ์Šคํƒ ์—ฐ์‚ฐ
      • top() : ์Šคํƒ์˜ ๋งจ ์œ„์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๊ฐ’ ๋ฐ˜ํ™˜
      • push() : ์Šคํƒ์˜ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…
      • pop() : ์Šคํƒ์—์„œ ๋ฐ์ดํ„ฐ ์‚ญ์ œ ํ›„ ๋ฐ˜ํ™˜
      • isempty() : ์Šคํƒ์— ์›์†Œ๊ฐ€ ์—†์œผ๋ฉด true, ์žˆ์œผ๋ฉด false ๋ฐ˜ํ™˜
      • isfull() : ์Šคํƒ์— ์›์†Œ๊ฐ€ ์—†์œผ๋ฉด false, ์žˆ์œผ๋ฉด true ๋ฐ˜ํ™˜
  • ํ
    • ๋’ค์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฝ์ž…๋˜๊ณ , ์•ž์—์„œ๋Š” ์‚ญ์ œ๋งŒ ํ•  ์ˆ˜ ์žˆ๋Š” ์„ ์ž…์„ ์ถœ์˜ ์ž๋ฃŒ๊ตฌ์กฐ
    • ํ ์—ฐ์‚ฐ
      • enQueue : ํ์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…
      • deQueue : ํ์— ๋ฐ์ดํ„ฐ ์‚ญ์ œ

ํŠธ๋ฆฌ์™€ ๊ทธ๋ž˜ํ”„

  • ํŠธ๋ฆฌ
    • ์›์†Œ๋“ค ๊ฐ„์— ๊ณ„์ธต ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๋Š” ๊ณ„์ธตํ˜• ์ž๋ฃŒ ๊ตฌ์กฐ => ํ•˜์œ„ ์›์†Œ๋กœ ๋‚ด๋ ค๊ฐ€๋ฉฐ ํ™•์žฅ๋˜๋Š” ๋‚˜๋ฌด ๋ชจ์–‘ ๊ตฌ์กฐ
    • ํŠธ๋ฆฌ ์‹œ์ž‘ ๋…ธ๋“œ : ๋ฃจํŠธ ๋…ธ๋“œ (root node)
    • ๋…ธ๋“œ ์—ฐ๊ฒฐํ•˜๋Š” ์„  : ๊ฐ„์„  (edge)
    • ๊ฐ™์€ ๋ถ€๋ชจ ๋…ธ๋“œ๋ฅผ ๊ฐ€์ง„ ์ž์‹ ๋…ธ๋“œ : ํ˜•์ œ ๋…ธ๋“œ (sibling node)
    • ์ž์‹์ด ์—†๋Š” ๋…ธ๋“œ : ๋‹จ๋ง ๋…ธ๋“œ (leaf node)
    • ๋ถ€๋ชจ ๋…ธ๋“œ์™€ ์—ฐ๊ฒฐ๋œ ๊ฐ„์„ ์„ ๋Š์—ˆ์„ ๋•Œ ์ƒ๊ธฐ๋Š” ํŠธ๋ฆฌ : ์„œ๋ธŒ ํŠธ๋ฆฌ (subtree)
  • ๊ทธ๋ž˜ํ”„
    • ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์›์†Œ ์‚ฌ์ด์˜ ๊ด€๊ผ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ
    • ๊ฐ์ฒด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ (vertex)์™€ ๊ฐ์ฒด๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐ„์„ (edge)์˜ ์ง‘ํ•ฉ
    • ๊ทธ๋ž˜ํ”„ ์ข…๋ฅ˜ : ๋ฌด๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„(๋ฐฉํ–ฅ์„ฑ ์—†๋Š” ์„ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๊ทธ๋ž˜ํ”„), ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„(๋ฐฉํ–ฅ์„ฑ์„ ์ง€๋‹ˆ๋Š” ๊ทธ๋ž˜ํ”„๋กœ์„œ ์ˆœ์„œ ์ค‘์š”), ์™„์ „ ๊ทธ๋ž˜ํ”„(์„œ๋กœ ๋‹ค๋ฅธ ์ •์ ์„ ์—ฐ๊ฒฐํ•˜์—ฌ ์ตœ๋Œ€๋กœ ๋งŽ์€ ๊ฐ„์„  ์ˆ˜๋ฅผ ๊ฐ€์ง„ ๊ทธ๋ž˜ํ”„), ๊ฐ€์ค‘ ๊ทธ๋ž˜ํ”„(์ •์ ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐ„์„ ์— ๊ฐ€์ค‘์น˜ ํ• ๋‹นํ•œ ๊ทธ๋ž˜ํ”„)
    • ๊ทธ๋ž˜ํ”„ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•
      • ์ธ์ ‘ํ–‰๋ ฌ : 2์ฐจ์› ๋ฐฐ์—ด ์‚ฌ์šฉ
      • ์ธ์ ‘๋ฆฌ์ŠคํŠธ : ์—ฐ๊ฒฐ ์ž๋ฃŒ๊ตฌ์กฐ ์ด์šฉํ•˜์—ฌ ์ธ์ ‘ ์ •์ ๋“ค์„ ์—ฐ๊ฒฐํ•˜๋Š” ํ‘œํ˜„ ๋ฐฉ๋ฒ•

1.2 ์•Œ๊ณ ๋ฆฌ์ฆ˜

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ์š”

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •์˜ : ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ จ์˜ ์ฒ˜๋ฆฌ ์ ˆ์ฐจ๋ฅผ ๋‹จ๊ณ„์ ์œผ๋กœ ๊ธฐ์ˆ ํ•œ ๊ฒƒ => ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ถ”์ƒํ™”ํ•˜์—ฌ ๋‹จ๊ณ„์ฉ ์ ˆ์ฐจ๋ฅผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ธฐ์ˆ ํ•ด ๋†“์€ ๋ช…์„ธ์„œ
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์กฐ๊ฑด : ์ž…๋ ฅ, ์ถœ๋ ฅ, ๋ช…ํ™•์„ฑ, ์œ ํ•œ์„ฑ, ํšจ๊ณผ์„ฑ์ด ์žˆ์–ด์•ผ ํ•จ

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„์„ ๊ธฐ์ค€

  • ์ •ํ™•์„ฑ : ํƒ€๋‹นํ•œ ์ž…๋ ฅ์— ๋Œ€ํ•ด ์œ ํ•œ ์‹œ๊ฐ„ ๋‚ด์— ์˜ฌ๋ฐ”๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์‚ฐ์ถœํ•˜๋Š”์ง€ ํŒ๋‹จ
  • ์ž‘์—…๋Ÿ‰ : ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ˆ˜ํ–‰์˜ ํšŸ์ˆ˜๋Ÿ‰ ์ธก์ •
  • ๊ธฐ์–ต ์žฅ์†Œ ์‚ฌ์šฉ๋Ÿ‰ : ๋ฐ์ดํ„ฐ ์ •๋ณด ๋“ฑ์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ปดํ“จํ„ฐ ๋ฉ”๋ชจ๋ฆฌ์˜ ์‚ฌ์šฉ๋Ÿ‰
  • ์ตœ์ ์„ฑ : ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ ์šฉํ•  ์‹œ์Šคํ…œ์˜ ์‚ฌ์šฉ ํ™˜๊ฒฝ ๊ณ ๋ คํ•  ๋•Œ ์ ํ•ฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ์ง€ ํŒ๋‹จ
  • ๋‹จ์ˆœ์„ฑ : ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ‘œํ˜„์ด ์–ผ๋งˆ๋‚˜ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋ช…ํ™•ํ•˜๊ฒŒ ์ž‘์„ฑ๋˜์—ˆ๋Š”์ง€ ํŒ๋‹จ

์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ‘œํ˜„ ๋ฐฉ๋ฒ•

  • ์ž์—ฐ์–ด ๊ธฐ์ˆ  : ์ผ์ƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ง์ด๋‚˜ ๊ธ€์„ ์ด์šฉํ•˜์—ฌ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ์ˆœ์„œ๋„ ํ‘œํ˜„ : ์ˆœ์„œ๋„๋‚˜ NS ์ฐจํŠธ์™€ ๊ฐ™์€ ๊ทธ๋ž˜ํ”ฝ์ ์ธ ๋ฐฉ๋ฒ•
  • ์˜์‚ฌ์ฝ”๋“œ (Pseudo Code) : ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ์œ ์‚ฌํ•œ ํ˜•ํƒœ๋กœ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋กœ ํ‘œํ˜„

์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ฑ๋Šฅ ๋ถ„์„

  • ๊ณต๊ฐ„ ๋ณต์žก๋„ : ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์‹คํ–‰ํ•˜์—ฌ ์™„๋ฃŒํ•˜๊ธฐ๊นŒ์ง€ ํ•„์š”ํ•œ ์ด ์ €์žฅ ๊ณต๊ฐ„ => ๊ณต๊ฐ„ ๋ณต์žก๋„ = ๊ณ ์ • ๊ณต๊ฐ„๋Ÿ‰ + ๊ฐ€๋ณ€ ๊ณต๊ฐ„๋Ÿ‰
    • ๊ณ ์ • ๊ณต๊ฐ„๋Ÿ‰ : ํ”„๋กœ๊ทธ๋žจ์˜ ํฌ๊ธฐ๋‚˜ ์ž…์ถœ๋ ฅ ํšŸ์ˆ˜์— ์ƒ๊ด€ ์—†์ด ๊ณ ์ •์ ์œผ๋กœ ํ•„์š”ํ•œ ์ €์žฅ ๊ณต๊ฐ„
    • ๊ฐ€๋ณ€ ๊ณต๊ฐ„๋Ÿ‰ : ํ”„๋กœ๊ทธ๋žจ ์ˆ˜ํ–‰๊ณผ์ •์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ์™€ ๋ณ€์ˆ˜๋“ค์„ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„๊ณผ ํ•จ์ˆ˜ ์‹คํ–‰ ์ •๋ณด ์ €์žฅ ๊ณต๊ฐ„
  • ์‹œ๊ฐ„ ๋ณต์žก๋„ : ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์‹คํ–‰ํ•˜์—ฌ ์™„๋ฃŒํ•˜๊ธฐ๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„ => ์‹œ๊ฐ„ ๋ณต์žก๋„ = ์ปดํŒŒ์ผ์‹œ๊ฐ„ + ์‹คํ–‰์‹œ๊ฐ„
    • ์ปดํŒŒ์ผ ์‹œ๊ฐ„ : ๊ณ ์ •์ ์ธ ์‹œ๊ฐ„, ํ”„๋กœ๊ทธ๋žจ ์ˆ˜์ •์ด ์ผ์–ด๋‚˜์ง€ ์•Š๋Š” ํ•œ ์ผ์ •ํ•˜๊ฒŒ ์œ ์ง€
    • ์‹คํ–‰์‹œ๊ฐ„ : ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ์‹œ๊ฐ„, ๋ช…๋ น๋ฌธ์˜ ์‹คํ–‰ ๋นˆ๋„์ˆ˜๋ฅผ ๊ตฌํ•ด์„œ ๊ณ„์‚ฐ
    • ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ๋Š” ๋น…-์˜ค(Big Oh) ํ‘œ๊ธฐ๋ฒ• ์‚ฌ์šฉ

์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ์ •๋ ฌ ๋ถ„๋ฅ˜ : ๋‚ด๋ถ€์ •๋ ฌ(์†Œ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์ฃผ๊ธฐ์–ต ์žฅ์น˜์— ์˜ฌ๋ ค์„œ ์ •๋ ฌ ๋ฐฉ์‹)๊ณผ ์™ธ๋ถ€์ •๋ ฌ(๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๋ณด์กฐ ๊ธฐ์–ต ์žฅ์น˜์—์„œ ์ •๋ ฌ ๋ฐฉ์‹)
  • ๋‚ด๋ถ€ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ์‚ฝ์ž…์ •๋ ฌ : ๋ฐ์ดํ„ฐ๊ฐ€ ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ๊ฐ’์„ ํ•ด๋‹น ์œ„์น˜์— ์‚ฝ์ž…ํ•˜์—ฌ ์ •๋ ฌ
    • ์‰˜์ •๋ ฌ : ์ฃผ์–ด์ง„ ์ž๋ฃŒ ๋ฆฌ์ŠคํŠธ๋ฅผ ํŠน์ • ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’์˜ ๊ธธ์ด๋ฅผ ๊ฐ–๋Š” ๋ถ€ํŒŒ์ผ๋กœ ์ชผ๊ฐœ์„œ, ๊ฐ ๋ถ€ํŒŒ์ผ์—์„œ ์‚ฝ์ž…์ •๋ ฌ์„ ์ˆ˜ํ–‰
    • ์„ ํƒ์ •๋ ฌ : ์ตœ์†Œ๊ฐ’์„ ์ฐพ์•„ ์™ผ์ชฝ์œผ๋กœ ์ด๋™์‹œํ‚ค๋Š”๋ฐ ๋ฐ์ดํ„ฐ ํฌ๊ธฐ(๊ฐœ์ˆ˜)๋งŒํผ ๋ฐ˜๋ณตํ•˜์—ฌ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ํ€ต์ •๋ ฌ : ์ž„์˜ ๊ธฐ์ค€ ์„ ํƒ ํ›„ ๊ธฐ์ค€๋ณด๋‹ค ์ž‘์œผ๋ฉด ์™ผ์ชฝ, ํฌ๋ฉด ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์œ„์น˜ ํ•˜๋Š” ๊ฒƒ์„ ๋ฐ˜๋ณตํ•˜์—ฌ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ๋ฒ„๋ธ”์ •๋ ฌ : ์ธ์ ‘ํ•œ ๋ฐ์ดํ„ฐ ๊ฐ„์— ๊ตํ™˜์ด ๊ณ„์†ํ•ด์„œ ์ผ์–ด๋‚˜๋ฉด์„œ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ํž™์ •๋ ฌ : ์ตœ๋Œ€ ํž™ ํŠธ๋ฆฌ๋‚˜ ์ตœ์†Œ ํž™ ํŠธ๋ฆฌ ๊ตฌ์„ฑํ•ด ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ๋จธ์ง€์ •๋ ฌ : ๋ฐ์ดํ„ฐ ํฌ๊ธฐ๋ฅผ ๋ฐ˜์œผ๋กœ ๊ณ„์† ๋‚˜๋ˆ„๋ฉด์„œ ์ •๋ ฌํ•ด์„œ ํ•ฉ์น˜๋Š” ๋ฐฉ๋ฒ•
    • ๊ธฐ์ˆ˜์ •๋ ฌ : ๋ฐ์ดํ„ฐ์˜ ๋‚ฎ์€ ์ž๋ฆฌ ์ˆ˜๋ถ€ํ„ฐ ๋น„๊ตํ•˜์—ฌ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ์š” : ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์—์„œ ์›ํ•˜๋Š” ํ•ญ๋ชฉ์„ ํšจ์œจ์ ์œผ๋กœ ์ฐพ๋Š” ๊ธฐ๋ฒ•
  • ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ถ„๋ฅ˜
    • ์„ ํ˜• ๊ฒ€์ƒ‰
      • ์„ ํ˜• ํƒ์ƒ‰ : ์ฒ˜์Œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ์ˆœ์„œ๋Œ€๋กœ ๊ฐ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋น„๊ตํ•˜๋ฉด์„œ ์ฐพ์•„๊ฐ€๋Š” ๋ฐฉ๋ฒ•
    • ์ œ์–ด ๊ฒ€์ƒ‰
      • ์ด์ง„ ํƒ์ƒ‰ : ์ƒํ•œ๊ฐ’๊ณผ ํ•˜ํ•œ๊ฐ’์„ ์„ค์ •ํ•˜๊ณ  ๊ทธ ์ค‘๊ฐ„๊ฐ’์„ ๊ตฌํ•œ ํ›„ ํ‚ค์™€ ์ค‘๊ฐ„๊ฐ’์„ ๊ณ„์† ๋น„๊ตํ•˜๋ฉด์„œ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•
      • ํ”ผ๋ณด๋‚˜์น˜ ํƒ์ƒ‰ : ํ”ผ๋ณด๋‚˜์น˜ ์ˆœ์—ด์„ ์ด์šฉํ•˜์—ฌ ์„œ๋ธŒ ํŒŒ์ผ์„ ํ˜•์„ฑํ•ด ๊ฐ€๋ฉด์„œ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•
      • ๋ณด๊ฐ„ ํƒ์ƒ‰ : ํƒ์ƒ‰ ๋Œ€์ƒ์ด ์žˆ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜์–ด์ง€๋Š” ์œ„์น˜๋ฅผ ์„ ํƒํ•˜์—ฌ ์ฐพ์•„๊ฐ€๋Š” ๋ฐฉ์‹์œผ๋กœ ์ดํ›„ ๊ทธ ์œ„์น˜์—์„ธ ์„ ํ˜• ํƒ์ƒ‰
      • ๋ธ”๋ก ํƒ์ƒ‰ : ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์ •ํ•œ ๊ฐœ์ˆ˜์˜ ๋ธ”๋ก์œผ๋กœ ๊ตฌ๋ถ„ํ•˜๊ณ  ์ฐพ๊ธฐ๋ฅผ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์†ํ•œ ๋ธ”๋ก์„ ๊ฒฐ์ •ํ•œ ํ›„์— ํ•ด๋‹น ๋ธ”๋ก ๋‚ด์˜ ํ‚ค ๊ฐ’์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•
      • ์ด์ง„ํŠธ๋ฆฌ ํƒ์ƒ‰ : ์ด์ง„ ํŠธ๋ฆฌ๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒ€์ƒ‰ ๋ฐฉ๋ฒ•
    • ํŠน์ • ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹
      • ํ•ด์‹ฑ : ํ•ด์‹ฑ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์ฃผ์†Œ๋ฅผ ์ง์ ‘ ๊ณ„์‚ฐํ•˜์—ฌ ์ฐพ์•„๊ฐ€๋Š” ๊ฒ€์ƒ‰ ๋ฐฉ๋ฒ•

๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ : ํ•˜๋‚˜์˜ ์ •์ ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๊ทธ๋ž˜ํ”„์— ์žˆ๋Š” ๋ชจ๋“  ์ •์ ์„ ํ•œ ๋ฒˆ์”ฉ ๋ฐฉ๋ฌธํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๋Š” ์—ฐ์‚ฐ
  • ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS) : ์‹œ์ž‘ ์ •์ ์—์„œ ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๊นŠ์ด ํƒ์ƒ‰ํ•˜๋‹ค๊ฐ€ ๋” ์ด์ƒ ๊ฐˆ ๊ณณ์ด ์—†์œผ๋ฉด ๋งˆ์ง€๋ง‰ ๊ฐˆ๋ฆผ์„  ๊ฐ„์„ ์œผ๋กœ ๋˜๋Œ์•„์™€ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์˜ ๊ฐ„์„ ์œผ๋กœ ํƒ์ƒ‰ ๋ฐ˜๋ณต
  • ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(BFS) : ์‹œ์ž‘ ์ •์ ์œผ๋กœ๋ถ€ํ„ฐ ๊ฐ€๊นŒ์šด ์ •์ ์„ ๋จผ์ € ๋ฐฉ๋ฌธํ•˜๊ณ  ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ ์žˆ๋Š” ์ •์ ์„ ๋‚˜์ค‘์— ๋ฐฉ๋ฌธํ•˜๋Š” ํƒ์ƒ‰ ๋ฐฉ๋ฒ•

์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ(MST)

  • ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ : ์‹ ์žฅ ํŠธ๋ฆฌ(๋ฌด๋ฐฉํ–ฅ ๊ฐ€์ค‘์น˜ ๊ทธ๋ž˜ํ”„ ๋‚ด ๋ชจ๋“  ์ •์ ์„ ํฌํ•จํ•˜๊ณ  ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ํŠธ๋ฆฌ์˜ ํŠน์ˆ˜ํ•œ ํ˜•ํƒœ๋กœ ์‚ฌ์ดํด์„ ํฌํ•จํ•ด์„œ๋Š” ์•ˆ๋˜๋Š” ํŠธ๋ฆฌ)๋Š” ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ€์ค‘์น˜์˜ ํ•ฉ์ด ์ตœ์†Œ์ธ ํŠธ๋ฆฌ
  • ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์ •์ ์— ์—ฐ๊ฒฐ๋œ ๊ฐ„์„  ๊ฐ€์šด๋ฐ ๊ฐ€์ค‘์น˜๊ฐ€ ์ตœ์†Œ์ธ ๊ฐ„์„ ์„ ์„ ํƒํ•˜๊ณ  ์ถ”๊ฐ€๋œ ๊ฐ„์„ ์ด ์‚ฌ์ดํด์„ ๋งŒ๋“œ๋Š”์ง€ ์ฒดํฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ๊ฐ€์ค‘์น˜๊ฐ€ ์ž‘์€ ๊ฐ„์„ ์„ ์ˆœ์„œ๋Œ€๋กœ ์„ ํƒํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ํ”„๋ฆด ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ๊ตฌ์„ฑ๋œ ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ ๋ถ€๋ถ„์— ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ƒˆ๋กœ์šด ์ •์ ๊ณผ ๊ฐ„์„ ์„ ์„ ํƒํ•˜์—ฌ ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•
๋ฐ˜์‘ํ˜•