μκ³ λ¦¬μ¦/κΈ°λ³ΈκΈ° λ€μ§κΈ°
[μκ³ λ¦¬μ¦] λΆν μ 볡 - Divide and Conquer
λν¨λ
2020. 2. 5. 18:14
λΆν μ 볡λ²μ΄λ? λ¬Έμ μ μ¬λ‘λ₯Ό 2κ° μ΄μμ λ μμ μ¬λ‘λ‘ λλμ΄(divide) κ° μμ μ¬λ‘μ λν ν΄λ΅(conquer)μ μ½κ² μ»μ μ μμΌλ©΄ μ΄λ€μ ν΄λ΅μ κ²°ν©(combine)νμ¬ μλ¬Έμ μ ν΄λ΅μ μ»λ λ°©μ.
- λ¬Έμ λ₯Ό λλλ κ³Όμ μ ν΄λ΅μ μ½κ² μ»μ λκΉμ§ λ°λ³΅μ μΌλ‘ μ μ©νλ€.
- νν₯μ(top-down) μ κ·Ό λ°©λ²μ΄λ€.
- λΆν (Divide) : ν΄κ²°νκΈ° μ½λλ‘ λ¬Έμ λ₯Ό μ¬λ¬ κ°μ μμ λΆλΆμΌλ‘ λλλ€.
- μ 볡(Conquer): λλ μμ λ¬Έμ λ₯Ό κ°κ° ν΄κ²°νλ€.
- ν΅ν©(Combine): (νμνλ€λ©΄) ν΄κ²°λ ν΄λ΅μ λͺ¨μλ€.
- λ³΄ν΅ μ¬κ· νλ‘μμ λ‘ λ¨Όμ ν΄κ²°ν λ€μμ λ³΄λ€ ν¨μ¨μ μΈ λ°λ³΅ νλ‘μμ κ° μλμ§ κ²ν νλ€.
- λνμ μΈ μκ³ λ¦¬μ¦
- μ΄μ§ κ²μ(BinarySearch)
- ν©λ³ μ λ ¬(MergeSort)
- λΉ λ₯Έ μ λ ¬(QuickSort)
- μ΅λ-μ΅μκ° μ°ΎκΈ°
λ°μν