ν€μλ
- ν΄μ
- ν΄μν¨μ
- ν΄μν μ΄λΈ
- ν΄μμΆ©λ(체μ΄λ, μ€ν μ΄λλ μ±)
ν΄μν μ΄λΈ
ν€(key)
λ₯Ό νμ©νμ¬κ°(value)
μ μ§μ μ κ·Όμ΄ κ°λ₯ν ꡬ쑰- ν΄μ±μ μ£Όλ λͺ©μ μ
κ²μ
- λ°μ΄ν°μ μκ³Ό μκ΄μμ΄ μ±λ₯μ΄ λΉ λ₯΄λ€.(ν€λ₯Ό ν΅ν΄ λ°λ‘ κ°μ κ²μνκΈ°λλ¬Έ)
- νμ΄μ¬μ λμ λ리λ λ΄λΆμ μΌλ‘ ν΄μν μ΄λΈ ꡬ쑰
ν΄μν¨μ
- ν΄μν¨μλ₯Ό ν΅ν΄ ν€λ₯Ό ν΄μν μ΄λΈ λ΄μ λ²ν·(=hashes)λ‘ λ§€ν
- ν΄μν¨μμ μ λ ₯κ° ννλ λ€μνμ§λ§, μΆλ ₯κ°μ ννλ μ«μ
- μ λ ₯κ°κ³Ό μΆλ ₯κ°μ΄ μΌλμΌ λμμ΄ λμ΄μΌ νλ€.
- μ€μ λ‘λ μλ²½ν μΌλμΌ λμμ μ΄λ €μ°λ©°, λ€λ₯Έ μ
λ ₯κ°μ λν΄ κ°μ μΆλ ₯μ΄ λμ€λ κ²½μ°λ₯Ό
ν΄μμΆ©λ
μ΄λΌκ³ νλ€. - μΌλ°μ μΌλ‘ ν΄μν¨μλ λ¬Έμμ΄ μ λ ₯κ°μ μ μν μΆλ ₯κ°μΌλ‘ λ°ν
ν΄μμ±λ₯
- O(1) μκ°λ³΅μ‘λ μμ κ²μ, μ½μ , μμ λ₯Ό ν μ μλ€.(ν΄μμΆ©λλ‘ μΈν΄ O(1)λ³΄λ€ ν° μκ°λ³΅μ‘λλ₯Ό κ°κΈ°λ ν¨)
ν΄μμΆ©λ
- μ λ ₯λ ν€κ° λ€μ΄κ° μ리(λ²ν·)μ΄ μλ κ²½μ° λ°μ
- μ€μ λ‘ λͺ¨λ λ°μ΄ν°λ₯Ό μκ³ μμ§ μλ€λ©΄, μλ²½ν ν΄μ ν¨μλ₯Ό μμ±νλ κ²μ λΆκ°λ₯
- κ°λ₯ν μΆ©λμ΄ μ μ ν΄μν¨μλ₯Ό λ§λλ κ²μ΄ ν΄μν μ΄λΈμ κ°μ₯ μ€μν λͺ©μ
[ν΄μμΆ©λ λ°©μ§] Chaining(체μ΄λ)
- κ°λ
μ체λ κ°λ¨νλ€. λ²ν·μ΄ μμΌλ©΄ κ° λ²ν·μ μΆ©λμ΄ μΌμ΄λ¬μ λ(ν€κ°μ΄ μ¬λ¬κ° λ€μ΄μμ λ)
μμλλ‘ μ°κ²°λ¦¬μ€νΈ ννλ‘ μ μ₯νλ€.
[ν΄μμΆ©λ λ°©μ§] Open Addressing(μ€ν μ΄λλ μ±)
- λ€λ₯Έ λ‘μ§μ ν¨μλ₯Ό νμ©νκΈ°μ λΆμ¬μ§ μ΄λ¦
- ν΄μκ°μ΄ μ΄λ―Έ μ‘΄μ¬νλ€λ©΄, λ€μν λ‘μ§μ μ μ©νμ¬ λΉμ΄μλ μ¬λ‘―μ΄ μμ λκΉμ§ ν΄λΉ λ‘μ§μ λ°λ³΅νμ¬ μ리λ₯Ό μ‘λλ€.
- μΆ©λμ΄ μΌμ΄λλ κ²½μ°, νμ¬(Probing)μ μ§ννλ©΄μ λΉ κ³΅κ°μ μ°Ύμ ν΄κ²°
- 체μ΄λμ νμ λ λ°°μ΄ λ΄μμ κ³μ μ°κ²°λ¦¬μ€νΈ ννλ‘ μ μ₯ κ°λ₯ν λ°λ©΄, μ μ₯곡κ°μ΄ μ ν΄μ Έμλ€.
λ‘λν©ν°(Load Factor ; μ μ¬μ¨)
- λ‘λ ν©ν° = (ν΄μ ν μ΄λΈ λ΄μ μμ΄ν μ μ) / (λ°°μ΄ μ¬λ‘―μ μ΄ κ°μ)
- μκ°λ³΅μ‘λ Big Oμ κ°μ΄ μ λμ μΈ μμΉκ° μλ, μλμ μΈ ν΄μν μ΄λΈμ ν¬νλ μ λλ₯Ό λΉκ΅νλ μ§ν
- λ‘λ ν©ν°κ°μ κΈ°μ€μΌλ‘ ν΄μν¨μ μ¬μμ± μ¬λΆ, ν΄μν μ΄λΈ ν¬κΈ° μ‘°μ μ¬λΆ λ±μ΄ κ²°μ
'πΏ Data > λΆνΈμΊ ν' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[TIL] 104. [μλ£κ΅¬μ‘°] μν (0) | 2022.04.12 |
---|---|
[TIL] 103. [μλ£κ΅¬μ‘°] κ·Έλν (0) | 2022.04.12 |
[TIL] 101. [λΆν μ 볡, μ λ ¬] ν΅ μ λ ¬, λ³ν© μ λ ¬ (0) | 2022.04.07 |
[TIL] 100. [μκ³ λ¦¬μ¦] νμ (0) | 2022.04.06 |
[TIL] 99. [μκ³ λ¦¬μ¦] μ λ ¬ (0) | 2022.04.06 |