1οΈβ£ νΈλ¦¬(Tree).
νΈλ¦¬(Tree) λ κ³μΈ΅μ ꡬ쑰λ₯Ό λνλ΄λ μλ£κ΅¬μ‘°λ‘, λ Έλ(Node)μ μμ§(Edge)λ‘ κ΅¬μ±λ©λλ€.
νΈλ¦¬λ μ¬μ΄ν΄μ΄ μλ μ°κ²° κ·Έλν(Connected Graph)μ΄λ©°, κ³μΈ΅μ λ°μ΄ν° ννμ λ§€μ° μ μ©ν©λλ€.
νΈλ¦¬λ λΆλͺ¨-μμ κ΄κ³λ₯Ό κ°μ§λ©°, λ°μ΄ν°μ μ‘°μ§νμ κ²μ, κ³μΈ΅μ λ°μ΄ν° ννμ μ¬μ©λ©λλ€.
1οΈβ£ νΈλ¦¬μ κ΅¬μ± μμ.
-
λ Έλ(Node) : νΈλ¦¬μ κΈ°λ³Έ λ¨μλ‘, λ°μ΄ν°λ₯Ό μ μ₯ν©λλ€.
-
μμ§(Edge) : λ Έλμ λ Έλλ₯Ό μ°κ²°νλ μ μΌλ‘, λΆλͺ¨-μμ κ΄κ³λ₯Ό λνλ λλ€.
-
루νΈ(Root) : νΈλ¦¬μ μ΅μμ λ Έλλ‘, λΆλͺ¨ λ Έλκ° μμ΅λλ€.
-
λΆλͺ¨(Parent) : λ€λ₯Έ λ Έλλ₯Ό κ°λ¦¬ν€λ λ Έλμ λλ€.
-
μμ(Child) : λΆλͺ¨ λ Έλμ μν΄ κ°λ¦¬μΌμ§λ λ Έλμ λλ€.
-
μ(Leaf) : μμ λ Έλκ° μλ λ Έλμ λλ€.
-
λ΄λΆ λ Έλ(Internal Node) : μμ λ Έλκ° μλ λ Έλμ λλ€.
-
λ 벨(Level) : λ£¨νΈ λ Έλμμ νΉμ λ ΈλκΉμ§μ μμ§ μλ₯Ό λνλ λλ€.
-
λμ΄(Height) : νΈλ¦¬μ μ΅λ λ 벨μ μλ―Έν©λλ€.
2οΈβ£ νΈλ¦¬μ νΉμ±.
- κ³μΈ΅μ ꡬ쑰 : νΈλ¦¬λ κ³μΈ΅μ κ΅¬μ‘°λ‘ λ°μ΄ν°λ₯Ό μ‘°μ§νν©λλ€.
- μ¬μ΄ν΄ μμ : νΈλ¦¬λ μ¬μ΄ν΄μ΄ μλ κ·Έλνμ λλ€.
- μ°κ²°μ± : λͺ¨λ λ Έλλ νλμ μ°κ²°λ κ΅¬μ± μμλ‘ λμ΄ μμ΅λλ€.
- ν κ°μ λ£¨νΈ λ Έλ : νΈλ¦¬λ νλμ λ£¨νΈ λ Έλλ₯Ό κ°μ§λ©°, λ£¨νΈ λ Έλλ νΈλ¦¬μ μμμ μ λλ€.
3οΈβ£ νΈλ¦¬μ μ’ λ₯.
-
μ΄μ§ νΈλ¦¬(Binary Tree) : κ° λ Έλκ° μ΅λ λ κ°μ μμ λ Έλλ₯Ό κ°μ§ μ μλ νΈλ¦¬μ λλ€.
-
μ΄μ§ νμ νΈλ¦¬(Binary Search Tree, BST) : μ΄μ§ νΈλ¦¬μ μΌμ’ μΌλ‘, μΌμͺ½ μμ λ Έλμ κ°μ΄ λΆλͺ¨ λ Έλμ κ°λ³΄λ€ μκ³ , μ€λ₯Έμͺ½ μμ λ Έλμ κ°μ΄ λΆλͺ¨ λ Έλμ κ°λ³΄λ€ ν° νΉμ±μ κ°μ§λλ€.
-
κ· ν μ΄μ§ νΈλ¦¬(Balanced Binary Tree) : AVL νΈλ¦¬, λ λ-λΈλ νΈλ¦¬ λ±κ³Ό κ°μ΄ νΈλ¦¬μ λμ΄κ° κ· νμ μ΄λ£¨λλ‘ μ μ§νλ νΈλ¦¬μ λλ€.
-
B-νΈλ¦¬(B-Tree) : λ°μ΄ν°λ² μ΄μ€μ νμΌ μμ€ν μμ μ¬μ©λλ νΈλ¦¬λ‘, μμ λ Έλμ μκ° μ ν΄μ§ λ€μ§ νΈλ¦¬(Multiway Tree)μ λλ€.
-
ν(Heap) : μμ μ΄μ§ νΈλ¦¬μ μΌμ’ μΌλ‘, λΆλͺ¨ λ Έλμ κ°μ΄ μμ λ Έλμ κ°λ³΄λ€ ν¬κ±°λ μμ νΉμ±μ κ°μ§λλ€.
-
νΈλΌμ΄(Trie) : λ¬Έμμ΄ κ²μμ μν νΈλ¦¬ μλ£κ΅¬μ‘°λ‘, μ λμ¬ κ²μμ μ μ©ν©λλ€.
4οΈβ£ νΈλ¦¬μ μ£Όμ μ°μ°.
- μ½μ (Insertion) : νΈλ¦¬μ μλ‘μ΄ λ Έλλ₯Ό μΆκ°ν©λλ€.
- μμ (Deletion) : νΈλ¦¬μμ λ Έλλ₯Ό μ κ±°ν©λλ€.
- νμ(Search) : νΈλ¦¬μμ νΉμ κ°μ μ°Ύμ΅λλ€.
- μν(Traversal) : νΈλ¦¬μ λͺ¨λ λ Έλλ₯Ό λ°©λ¬Έν©λλ€. μ μ(Preorder), μ€μ(Inorder), νμ(Postorder), λ 벨 μν(Level Order) λ°©μμ΄ μμ΅λλ€.