ν μ λ ¬(Heap Sort)
π© 'ν' μλ£κ΅¬μ‘°μ μ₯μ μ νμ©ν μ λ ¬
μ΅λν νΈλ¦¬λ μ΅μν νΈλ¦¬λ₯Ό ꡬμ±ν΄ μ λ ¬μ νλ λ°©λ²
λ΄λ¦Όμ°¨μ μ λ ¬μ μν΄μλ μ΅λν (루νΈκ° κ°μ₯ νΌ)μ ꡬμ±νκ³
μ€λ¦μ°¨μ μ λ ¬μ μν΄μλ μ΅μν (루νΈκ° κ°μ₯ μμ)μ ꡬμ±νλ€.
π© κ³Όμ
1. nκ°μ λ Έλμ λν μμ μ΄μ§ νΈλ¦¬ ꡬμ±
2. μ΅λν ꡬμ±
3. κ°μ₯ ν° μ(루νΈμ μμΉ)λ₯Ό κ°μ₯ λμ λ Έλμ κ΅ν
4. 2μ 3μ λ°λ³΅
π© μκ°λ³΅μ‘λ
νκ³Ό λμΌνκ² O(nlogn)
μ΅λνμΌλ‘ λ§λλ κ³Όμ O(logn), nκ°μ μμλ₯Ό λ€ μ λ ¬ν λκΉμ§ λ°λ³΅ νλ―λ‘
π© νΉμ§
μ μ리 μ λ ¬ (μΆκ°μ μΈ κ³΅κ°μ΄ νμνμ§ μμ) π λ©λͺ¨λ¦¬ μΈ‘λ©΄μμ λͺΉμ ν¨μ¨μ cf. ν©λ³μ λ ¬
νμ μκ°λ³΅μ‘λ O(nlogn)μ 보μ₯
νμ§λ§ λ¨μν μλλ§ κ°μ§κ³ λΉκ΅νλ©΄ ν΅ μ λ ¬μ΄ νκ· μ μΌλ‘ λΉ λ₯΄κΈ° λλ¬Έμ ν μ λ ¬μ΄ λ§μ΄ μ¬μ©λμ§λ μμ
π ν΅ μ λ ¬κ³Όμ λΉκ΅
λ λ€ κ°μ nlognμ΄μ§λ§, μ»΄ν¨ν°μ νλμ¨μ΄ ꡬ쑰μ ν΅ μ λ ¬μ΄ μ€μ λ‘ λ λΉ λ₯΄λ€.
μ΄μ λ ν΅μ λ ¬μ λ°μ΄ν°λ₯Ό νΌλ²μ κΈ°μ€μΌλ‘ μ’μ°λ‘ λλμ΄ μ λ ¬νλ λ°©μμΌλ‘, μ΅μ μ κ²½μ° nlogn, μ΅μ μ κ²½μ° n^2μ΄λ€. λ°λ©΄, νμ λ ¬μ κ²½μ° ν νΈλ¦¬ ꡬ쑰λ₯Ό μ μ§νλ©΄μ μ λ ¬μ μ§ννκΈ° λλ¬Έμ λͺ¨λ κ²½μ°μ nlognμ μκ° λ³΅μ‘λλ₯Ό 보μ₯νλ€.
κ·Έλ¬λ ν΅ μ λ ¬μ΄ λκ° μμλ€λΌλ¦¬ κ·Όμ ν λ©λͺ¨λ¦¬ μμμ λΆμ΄ μλ λ°°μ΄μ μ¬μ©νκΈ° λλ¬Έμ μΊμ ν¨μ¨μ± μΈ‘λ©΄μμ λ λΉ λ₯΄λ€. λ°λ©΄ ν μ λ ¬μ κ²½μ°, μΊμ ν¨μ¨μ±μ΄ λ¨μ΄μ§λ€λ λ¬Έμ μ μΌλ°μ μΌλ‘ ν¬μΈν° μ°μ°μ λ§μ΄ μ¬μ©νμ¬ λ°μνλ μ€λ²ν€λλ 무μν μ μλ€.