CS/μ•Œκ³ λ¦¬μ¦˜

[μ•Œκ³ λ¦¬μ¦˜] νƒμš• μ•Œκ³ λ¦¬μ¦˜

코더999 2023. 1. 16. 11:34

1. νƒμš• μ•Œκ³ λ¦¬μ¦˜(greedy algorithm)

  • λ§€μˆœκ°„ 졜적인 닡을 μ„ νƒν•˜λŠ” 과정을 λ°˜λ³΅ν•΄ κ²°κ³Όλ₯Ό λ„μΆœ
    → μ •λ‹Ήμ„± 뢄석, 졜적의 ν•΄λ₯Ό ꡬ할 수 μžˆλŠ”μ§€ κ²€ν† ν•˜λŠ” 것이 μ€‘μš”
  • λ§Œμ‘±ν•˜λŠ” μ ν•©ν•œ ν•΄λ₯Ό μ°ΎλŠ” 방법
    → 졜적의 ν•΄λ₯Ό μ°ΎλŠ” 방법은 μ•„λ‹˜
  • 동적 ν”„λ‘œκ·Έλž˜λ° 쀑 μ§€λ‚˜μΉ˜κ²Œ λ§Žμ€ 일을 ν•œλ‹€λŠ” 것에 μ°©μ•ˆν•΄ κ³ μ•ˆλœ μ•Œκ³ λ¦¬μ¦˜

 

2. νƒμš• μ•Œκ³ λ¦¬μ¦˜μ˜ ν•œκ³„

졜적의 해에 κ°€κΉŒμš΄ 값을 κ΅¬ν•˜λŠ” λ°©λ²•μœΌλ‘œ κ·Όμ‚¬μΉ˜ 좔정에 ν™œμš©ν•œλ‹€.

예λ₯Όλ“€μ–΄ 'μ‹œμž‘' λ…Έλ“œμ—μ„œ μ‹œμž‘ν•΄μ„œ κ°€μž₯ μž‘μ€ 값을 μ°Ύμ•„ leaf node κΉŒμ§€ κ°€λŠ” 경둜λ₯Ό 찾을 λ•Œ

  • Greedy μ•Œκ³ λ¦¬μ¦˜ μ μš©μ‹œ μ‹œμž‘ -> 7 -> 12 λ₯Ό μ„ νƒν•˜κ²Œ λ˜λ―€λ‘œ 7 + 12 = 19 κ°€ 됨
  • ν•˜μ§€λ§Œ μ‹€μ œ κ°€μž₯ μž‘μ€ 값은 μ‹œμž‘ -> 10 -> 5 이며, 10 + 5 = 15 κ°€ λ‹΅

 

더보기