ν(binary heap)μ΄λ?
μ΅λκ°μ΄λ μ΅μκ°μ λΉ λ₯΄κ² μ°Ύμλ΄κΈ° μν΄ κ³ μλ μμ μ΄μ§ νΈλ¦¬(λ§μ§λ§ λ 벨μ μ μΈνκ³ λͺ¨λ μ±μμ Έ μμΌλ©°, λ§μ§λ§ λ 벨μ μΌμͺ½λΆν° μ±μμ Έ μλ νΈλ¦¬)λ€. μμ κ°μ λΆλͺ¨μ λλ μ΅μνκ³Ό ν° κ°μ λΆλͺ¨μ λλ μ΅λνμ΄ μλ€. λμ μλ¦¬κ° κ°κΈ° λλ¬Έμ νλλ§ μμλ¬λ λ€λ₯Έ 건 λκ°μ΄ μ¬μ©ν μ μλ€.
μ΅μν μ°μ°
μ΅μνμ λ Έλλ₯Ό μΆκ°νκ±°λ μμ ν λλ§λ€ λΆλͺ¨ λ Έλκ° μμλ Έλλ³΄λ€ μμ κ°μ κ°μ§κ³ μμ΄μΌ νκ³ , μμ μ΄μ§νΈλ¦¬μ ννλ₯Ό μ μ§νλ μμ (Heapify)μ΄ νμνλ€.
λ Έλ μ½μ νκΈ°
μμ μ΄μ§ νΈλ¦¬μ ννλ₯Ό μ μ§νκΈ° μν΄ λ§¨ λ§μ§λ§ λ 벨μ μΌμͺ½λΆν° μ±μλκ°λ©°, μΆκ°λ λ Έλλ μ λ ¬λμ΄μμ§ μμΌλ―λ‘ λΆλͺ¨ λ Έλμ λΉκ΅ν΄ μ리λ₯Ό λ°κΏκ°λ©° μ λ ¬μμΌμ€μΌ νλ€. μ λ ¬λμ΄ μλ μ΄μ§ νΈλ¦¬μ΄λ―λ‘ ν λ¨κ³λ₯Ό κ±°μΉ λλ§λ€ μμ μ΄ λ°μΌλ‘ μ€μ΄λ€μ΄ O(log n) μ μκ°λ³΅μ‘λλ₯Ό κ°μ§λ€.
λ Έλ κΊΌλ΄μ€κΈ°
μ΅μνμ μ΅μκ°μ λΉ λ₯΄κ² μ°Ύμλ΄κΈ° μν΄ κ³ μλμμΌλ, λ Έλλ₯Ό κΊΌλ΄μ¨λ€λ 건 μ΅μκ°μ κ°μ§λ λ£¨νΈ λ Έλλ₯Ό μμ²νλ κ²μ΄λ€. μ¦, 루νΈλ₯Ό κΊΌλ΄μ€λ μ°μ°μ΄λ€. μ΅μνμ 루νΈλ₯Ό κΊΌλ΄λ©΄ λΉ κ³΅κ°μ΄ μκΈ°λ―λ‘ λ£¨νΈ μ리μ 맨 λ§μ§λ§ λ Έλ(맨 μλ μ€λ₯Έμͺ½)λ₯Ό μ¬λ¦°λ€. κ·Έ ν μμ λ Έλμ λΉκ΅ν΄μ μμ λ³΄λ€ μμ κ°μ κ°μ§ λ Έλμ λ°κΏκ°λ©° μ λ ¬μμΌμ€λ€. μ λ ¬λμ΄ μλ μ΄μ§ νΈλ¦¬μ΄λ―λ‘ ν λ¨κ³λ₯Ό κ±°μΉ λλ§λ€ μμ μ΄ λ°μΌλ‘ μ€μ΄λ€μ΄ O(log n) μ μκ°λ³΅μ‘λλ₯Ό κ°μ§λ€.