ν Heap
Heap κ΄λ ¨ μ€λͺ
κ°λ
λ§ν¬ μ°Έμ‘°
μ΄μ§ νΈλ¦¬ μ°Έμ‘°
ꡬνλ°©λ² : λ°°μ΄μ μ΄μ©ν ν, μ°κ²°λ¦¬μ€νΈλ₯Ό μ΄μ©ν ν
log(n) : nκ° λ
Έλ κ°μ§κ³ μλ νλΈ λμ΄
ν ꡬν
π ꡬν
1. μ°μ μμ ν μΆμ μλ£ν ADT (Abstract Datat Type)
λ°°μ΄μ μ΄μ©ν ν
create() // μ°μ μμ ν μμ±
init(q) // μ°μ μμ ν μ΄κΈ°ν
is_empty(q) // μ°μ μμ νκ° λΉμ΄μλμ§ νμΈ
is_full(q) // μ°μ μμ νκ° κ°λ μ°¨ μλμ§ νμΈ
insert(q, item) // μ°μ μμ νμ item μ½μ
delete(q) // μ°μ μμ νμμ κ°μ₯ λμ μ°μ μμ νλͺ© μμ
find(q) // μ°μ μμ νμμ κ°μ₯ λμ μ°μ μμ νλͺ© μ°ΎκΈ°
λ°°μ΄ ν
μΌμͺ½ μμ λ
Έλ : 2 * (λΆλͺ¨ index)
μ€λ₯Έμͺ½ μμ λ
Έλ : 2 * (λΆλͺ¨ index) + 1
λΆλͺ¨ λ
Έλ : (μμ index) / 2