π ν΄μ ν μ΄λΈ(Hash Table)?
- μ΄λ€ νΉμ κ°μ λ°μΌλ©΄ κ·Έ κ°μ ν΄μ ν¨μμ ν΅κ³Ό μμΌ λμ¨ μΈλ±μ€μ μ μ₯νλ μλ£κ΅¬μ‘°
- ν΄μ ν¨μλ₯Ό μ¬μ©νμ¬ νΉμ κ°μ μ μνκ² μ°Ύλ μλ£κ΅¬μ‘°
- μλ°μ€ν¬λ¦½νΈ κ°μ²΄λ ν΄μ ν μ΄λΈκ³Ό κ°μ λ°©μμΌλ‘ ν€μ ν΄λΉ ν€μ μ°κ΄λ κ°μ μ μνλ λ°©μμΌλ‘ λμνλ€.
β ν΄μ ν¨μ (Hash Function) = ν΄μ(Hash)
μμμ κΈΈμ΄μ λ°μ΄ν°λ₯Ό κ³ μ λ κΈΈμ΄μ λ°μ΄ν°λ‘ 맀ννλ ν¨μ
- ν΄μ ν¨μμ νΉμ±
- μμΆμ±: λ€μν κ°λ³ κΈΈμ΄μ μ λ ₯μ λν΄ κ³ μ λ ν¬κΈ°μ κ²°κ³Όκ°μ λ°ννλ μ±μ§μ κ°μ§λ€.
- ν¨μ¨μ±: μ΄λ€ μ λ ₯ κ°μ λν΄μλ λ§μ μμκ³Ό μκ°μ΄ μμλμ§ μκ³ μ²λ¦¬λλ μ±μ§μ κ°μ§λ€.
- μ νμ±: κ²°κ³Όκ°μ λ°νμΌλ‘ μ λ ₯ κ°μ μ°Ύλ κ²μ΄ λΆκ°λ₯ν μ±μ§μ κ°μ§λ€.
β ν΄μ μΆ©λ(Hash Collision)
λ°μ΄ν°λ₯Ό Keyλ‘ κ°μννμ¬ μ μ₯νμ§λ§ λ€λ₯Έ γ γ΄μ©μ λ°μ΄ν°κ° κ°μ ν€λ₯Ό κ°λ κ²½μ° μκΈ°λ κ²μ ν΄μ μΆ©λμ΄λΌκ³ νλ€.
ν΄μν μ΄λΈμ μ±λ₯λ₯μ λ¨μ΄λ¨λ¦¬λ μμΈμ΄ λλ€.
- ν΄κ²°λ°©λ²
- ν΄μ ν¨μ λ³κ²½: λ ν° μ«μμ 곡κ°κ³Ό λͺ¨λ μ°μ κ°μ μ΄μ©ν΄ μΆ©λμ μ΅μννλ€.
(κ°μ μκ° λμ€λ κ²½μ°μ μλ₯Ό μ€μΈλ€.) - μλ£κ΅¬μ‘° νμ₯: μ ν μ‘°μ¬λ², μ΄μ€ν΄μ, μ±μ΄λ
- ν΄μ ν¨μ λ³κ²½: λ ν° μ«μμ 곡κ°κ³Ό λͺ¨λ μ°μ κ°μ μ΄μ©ν΄ μΆ©λμ μ΅μννλ€.
- ꡬν λ©μλ(Method)
- clear
- size
- getBuffer
- put
- remove
- get
'Algorithm > Study' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Algorithm] ν(Heap) (2) | 2022.06.26 |
---|---|
[μΊμ μκ³ λ¦¬μ¦] LRU (Least Recently Used Algorithm) (0) | 2022.02.10 |