μ΄μ§νμνΈλ¦¬μ λͺ©μ μ?
μ΄μ§νμ + μ°κ²°λ¦¬μ€νΈ
μ΄μ§νμ : νμμ μμλλ μκ°λ³΅μ‘λλ O(logN), but μ½μ ,μμ κ° λΆκ°λ₯
μ°κ²°λ¦¬μ€νΈ : μ½μ , μμ μ μκ°λ³΅μ‘λλ O(1), but νμνλ μκ°λ³΅μ‘λκ° O(N)
μ΄ λκ°μ§λ₯Ό ν©νμ¬ μ₯μ μ λͺ¨λ μ»λ κ²μ΄ 'μ΄μ§νμνΈλ¦¬'
μ¦, ν¨μ¨μ μΈ νμ λ₯λ ₯μ κ°μ§κ³ , μλ£μ μ½μ μμ λ κ°λ₯νκ² λ§λ€μ
- κ° λ Έλμ μμμ΄ 2κ° μ΄ν
- κ° λ Έλμ μΌμͺ½ μμμ λΆλͺ¨λ³΄λ€ μκ³ , μ€λ₯Έμͺ½ μμμ λΆλͺ¨λ³΄λ€ νΌ
- μ€λ³΅λ λ Έλκ° μμ΄μΌ ν¨
μ€λ³΅μ΄ μμ΄μΌ νλ μ΄μ λ?
κ²μ λͺ©μ μλ£κ΅¬μ‘°μΈλ°, κ΅³μ΄ μ€λ³΅μ΄ λ§μ κ²½μ°μ νΈλ¦¬λ₯Ό μ¬μ©νμ¬ κ²μ μλλ₯Ό λλ¦¬κ² ν νμκ° μμ. (νΈλ¦¬μ μ½μ νλ κ²λ³΄λ€, λ Έλμ count κ°μ κ°μ§κ² νμ¬ μ²λ¦¬νλ κ²μ΄ ν¨μ¬ ν¨μ¨μ )
μ΄μ§νμνΈλ¦¬μ μνλ 'μ€μμν(inorder)' λ°©μ (μΌμͺ½ - λ£¨νΈ - μ€λ₯Έμͺ½)
μ€μ μνλ‘ μ λ ¬λ μμλ₯Ό μ½μ μ μμ
- κ²μ
- μ½μ
- μμ
- νΈλ¦¬ μμ±
- νΈλ¦¬ μμ
- κ· λ± νΈλ¦¬ : λ Έλ κ°μκ° Nκ°μΌ λ O(logN)
- νΈν₯ νΈλ¦¬ : λ Έλ κ°μκ° Nκ°μΌ λ O(N)
μ½μ , κ²μ, μμ μκ°λ³΅μ‘λλ νΈλ¦¬μ Depthμ λΉλ‘
-
μμμ΄ μλ leaf λ ΈλμΌ λ β κ·Έλ₯ μμ
-
μμμ΄ 1κ°μΈ λ ΈλμΌ λ β μ§μμ§ λ Έλμ μμμ μ¬λ¦¬κΈ°
-
μμμ΄ 2κ°μΈ λ ΈλμΌ λ β μ€λ₯Έμͺ½ μμ λ Έλμμ κ°μ₯ μμ κ° or μΌμͺ½ μμ λ Έλμμ κ°μ₯ ν° κ° μ¬λ¦¬κΈ°
νΈν₯λ νΈλ¦¬(μ λ ¬λ μν κ°μ νΈλ¦¬λ‘ λ§λ€λ©΄ νμͺ½μΌλ‘λ§ λ»μ)λ μκ°λ³΅μ‘λκ° O(N)μ΄λ―λ‘ νΈλ¦¬λ₯Ό μ¬μ©ν μ΄μ κ° μ¬λΌμ§ β μ΄λ₯Ό λ°λ‘ μ‘λλ‘ λμμ£Όλ κ°μ λ νΈλ¦¬κ° AVL Tree, RedBlack Tree