π ν(Heap)μ΄λ?
- μ΅λκ°κ³Ό μ΅μκ°μ λΉ λ₯΄κ² μ°ΎκΈ° μν΄ κ³ μλ μλ£κ΅¬μ‘°
- νμ μ΅λν, μ΅μνμΌλ‘ λλ μ§λλ€.
- ν νΈλ¦¬μμλ μ€λ³΅λ κ°μ νμ©νλ€. (μ΄μ§ νμ νΈλ¦¬μμλ μ€λ³΅λ κ°μ νμ©νμ§ μλλ€.)
- μκ°λ³΅μ‘λ = O(log n)
β μ΅λν
λΆλͺ¨ λ Έλμ ν€ κ°μ΄ μμ λ Έλμ ν€ κ°λ³΄λ€ ν¬κ±°λ κ°μ μμ μ΄μ§ νΈλ¦¬
key(λΆλͺ¨) >= key(μμ)
β μ΅μν
λΆλͺ¨ λ Έλμ ν€ κ°μ΄ μμ λ Έλμ ν€ κ°λ³΄λ€ μκ±°λ κ°μ μμ§ μ΄μ§νΈλ¦¬
key(λΆλͺ¨) <= key(μμ)
π νμ ꡬν
- νμ μ μ₯νλ νμ€μ μΈ μλ£κ΅¬μ‘°λ λ°°μ΄μ΄λ€.
- ꡬνμ μ½κ²νκΈ° μνμ¬ λ°°μ΄μ 첫 λ²μ§Έ μΈλ±μ€μΈ 0μ μ¬μ©λμ§ μλλ€.
- νΉμ μμΉμ λ
Έλ λ²νΈλ μλ‘μ΄ λ
Έλκ° μΆκ°λμ΄λ λ³νμ§ μλλ€.
- λ£¨νΈ λ Έλμ μ€λ₯Έμͺ½ λ Έλμ λ²νΈλ νμ 3μ΄λ€.
- λΆλͺ¨ λ
Έλμ μμ λ
Έλμ κ΄κ³
- μΌμͺ½ μμ μΈλ±μ€ = (λΆλͺ¨μ μΈλ±μ€) * 2
- μ€λ₯Έμͺ½ μμ μΈλ±μ€ = (λΆλͺ¨μ μΈλ±μ€) * 2 + 1
- λΆλͺ¨μ μΈλ±μ€ = (μμμ μΈλ±μ€) / 2
β μ½μ μ°μ°
- μ½μ νκ³ μ νλ κ°μ νΈλ¦¬μ κ°μ₯ λ§μ§λ§ μμμ μΆκ°νλ€.
- λΆλͺ¨ λ Έλμμ λμκ΄κ³λ₯Ό λΉκ΅νλ©΄μ λ§μ‘±ν λκΉμ§ μ리 κ΅νμ λ°λ³΅νλ€.
β μμ μ°μ°
- νμμλ λ£¨νΈ λ
Έλλ§ μμ κ° κ°λ₯νλ―λ‘ λ£¨νΈ λ
Έλλ₯Ό μ κ±°νλ€.
- μ΅λ νμμ μμ μ°μ°μ μ΅λκ°μ κ°μ§ μμλ₯Ό μμ νλ κ²μ΄λ€.
- μμ λ λ£¨νΈ λ Έλμλ νμ λ§μ§λ§ λ Έλλ₯Ό κ°μ Έμ¨λ€.
- μμλ Έλμ λΉκ΅νμ¬ μ‘°κ±΄μ΄ λ§μ‘±ν λκΉμ§ μ΄λμν¨λ€.
π μΆκ°μλ£
'Algorithm > Study' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Algorithm] ν΄μ ν μ΄λΈ(Hash Table) (0) | 2022.06.09 |
---|---|
[μΊμ μκ³ λ¦¬μ¦] LRU (Least Recently Used Algorithm) (0) | 2022.02.10 |