μ΄μ§ νΈλ¦¬(Binary Tree)
μ΄λ€ λ Έλμ μμ λ Έλμ μκ° μ΅λ 2κ°λ₯Ό λμ§ μλ νΈλ¦¬μ΄λ€.
- ν¬ν(Perfect) μ΄μ§νΈλ¦¬: λͺ¨λ λ λ²¨μ΄ κ½ μ°¬ μ΄μ§νΈλ¦¬μ΄λ€.
- μμ (Complete) μ΄μ§νΈλ¦¬: μμμ μλλ‘, μΌμͺ½μμ μ€λ₯Έμͺ½μΌλ‘ μ°¨λ‘λλ‘ μ±μμ§ νΈλ¦¬μ΄λ€.
- μ¬ν₯ μ΄μ§νΈλ¦¬: νμͺ½μΌλ‘ κΈ°μΈμ΄μ§ νΈλ¦¬λ‘ νμ μκ°μ O(N)μ΄λ€.
1. μ΄μ§ νμ νΈλ¦¬(Binary Search Tree)
νμ μκ°μ΄ νκ· O(logN)μΌλ‘ ν¨μ¨μ μΈ νμμ΄ κ°λ₯νλ€.
- κ° λ Έλμ μμμ΄ 2κ° μ΄νμ΄λ€.
- κ° λ Έλμ μΌμͺ½ μμμ λΆλͺ¨λ³΄λ€ μκ³ μ€λ₯Έμͺ½ μμμ λΆλͺ¨λ³΄λ€ ν¬λ€.
- μ€λ³΅λ κ°μ λ Έλκ° μμ΄μΌ νλ€.
2020.04.29 - [π Computer Science/β Algorithm] - [C] μ΄μ§ νμ νΈλ¦¬(BST)
2. λ λ λΈλ νΈλ¦¬
- λ£¨νΈ λ Έλμ μκΉμ λΈλμ΄λ€.
- λͺ¨λ 리ν λ Έλλ€μ λΈλ λ Έλμ΄λ€: λ Έλκ° κ°μ§ λ κ°μ μμ ν¬μΈν° μ€ NILμΈ κ²μ΄ μμΌλ©΄ λ Έλλ₯Ό νλ λ§λ€μ΄ κ·Έκ²μ 리ν λ ΈλλΌ λΆλ₯Έλ€.
- λ λ λ Έλμ μμμ λΈλ λ Έλμ΄λ€.
- λ£¨νΈ λ Έλμμ μμμ 리ν λ Έλλ‘ κ°λ κ²½λ‘μμ λ§λλ λΈλ λ Έλμ μλ λͺ¨λ κ°λ€.
3. B νΈλ¦¬
λμ€ν¬ μ κ·Ό νμκ° μ μ΄ λλμ λ°μ΄ν°κ° μ μ₯λ λμ€ν¬ νκ²½μμ μ¬μ©νκΈ°μ μ ν©ν μ΄μ§ νΈλ¦¬μ΄λ€.
- νλμ λ Έλμ λ§μ λ°μ΄ν° μ μ₯
- κ° λ Έλμ μλ£λ μ λ ¬λ μνμ΄κ³ μλ£μ μκ° Nκ°λ©΄ μμ λ Έλμ μλ N+1κ°μ΄λ€.
- λ£¨νΈ λ Έλλ μ μ΄λ 2κ° μ΄μμ μμ λ Έλλ₯Ό κ°μ ΈμΌ νκ³ λλ¨Έμ§ λ Έλλ μ μ΄λ N/2κ°μ μλ£λ₯Ό κ°μ ΈμΌ νλ€.
- λͺ¨λ 리ν λ Έλλ κ°μ κΉμ΄λ₯Ό κ°μ§λ€.
4. ν(Heap)
λ°°μ΄μ κΈ°λ°ν μμ μ΄μ§ νΈλ¦¬λ‘ λ°μ λ ¬ μνμ΄κ³ μ€λ³΅λ κ°μ νμ©νλ€.
- μ΅λ ν(Max Heap): λ£¨νΈ λ Έλμ μλ κ°μ΄ μ μΌ ν¬κ³ κ° λ Έλμ κ°μ΄ ν΄λΉ μμ λ Έλμ κ°λ³΄λ€ ν¬κ±°λ κ°λ€.
- μ΅μ ν(Min Heap): μ΅λ νκ³Ό λ°λμ΄λ€.