Merge Sort Algorithm
ν©λ³ μ λ ¬(Merge Sort)μ΄λ? λΆν μ 볡 μκ³ λ¦¬μ¦(=Divide and conquer algorithm μ¦, κ·Έλλ‘ ν΄κ²°ν μ μλ λ¬Έμ λ₯Ό μμ λ¬Έμ λ‘ λΆν νμ¬ λ¬Έμ λ₯Ό ν΄κ²°νλ λ°©λ²μ΄λ μκ³ λ¦¬μ¦μ λλ€.)μ νλλ‘ O(n log n)μ μκ° λ³΅μ‘λλ₯Ό κ°μ§κ³ μμ΅λλ€. ν©λ³ μ λ ¬μ μλ μκ³ λ¦¬μ¦μ μλμ κ°μ΅λλ€. 리μ€νΈμ κΈΈμ΄κ° 1 μ΄νμ΄λ©΄ μ΄λ―Έ μ λ ¬λ κ²μΌλ‘ λ³Έλ€. κ·Έλ μ§ μμ κ²½μ°μλ λΆν (divide) : μ λ ¬λμ§ μμ 리μ€νΈλ₯Ό μ λ°μΌλ‘ μλΌ λΉμ·ν ν¬κΈ°μ λ λΆλΆ 리μ€νΈλ‘ λλλ€. μ 볡(conquer) : κ° λΆλΆ 리μ€νΈλ₯Ό μ¬κ·μ μΌλ‘ ν©λ³ μ λ ¬μ μ΄μ©ν΄ μ λ ¬νλ€. κ²°ν©(combine) : λ λΆλΆ 리μ€νΈλ₯Ό λ€μ νλμ μ λ ¬λ 리μ€νΈλ‘ ν©λ³νλ€. μ΄λ μ λ ¬ κ²°κ³Όκ° μμλ°°μ΄μ μ μ₯λλ€. 볡μ¬(copy) : μμ λ°°μ΄μ μ μ₯λ κ²°κ³Όλ₯Ό μλ λ°°μ΄μ 볡μ¬νλ€. μ΄ν΄κ° μ μκ°λ€λ©΄ μλ μ λλ©μ΄μ μ ν΅ν΄ μλ μ리λ₯Ό μ½κ² μ΄ν΄ν μ μμ΅λλ€. ...