πΏ Data/λΆνΈμΊ ν
[TIL] 104. [μλ£κ΅¬μ‘°] μν
Jayden1116
2022. 4. 12. 22:39
ν€μλ
- μν(νΈλ¦¬ : μ μ/μ€μ/νμ, κ·Έλν : BFS/DFS)
μν(Traversal)
- νΈλ¦¬, κ·Έλνμ κ°μ΄ μ°κ²°λ μλ£κ΅¬μ‘°μμ λͺ¨λ λ Έλλ₯Ό ν λ²μ© νμνλ κ²
- μνμ λͺ©μ : λͺ¨λ νΉμ νΉμ λ Έλλ₯Ό λ°©λ¬Ένλ λ°©λ²μ μ°Ύλ κ²
- λ°©ν₯μ λ°λΌ μννλ λ°©λ²μ΄ λ¬λΌμ§λ€.
[μν] νΈλ¦¬κ΅¬μ‘°
- νΈλ¦¬ ꡬ쑰μμμ μνλ ν¬κ²
μ μ
,μ€μ
,νμ
λ‘ λλμ΄μ§λ€.
- μ μ : 1. Root node -> 2. Left node -> 3. Right node
- μ€μ : 1. Left node -> 2. Root node -> 3. Right node
- νμ : 1. Left node -> 2. Right node -> 3. Root node
- λ¨μνκ² μΌμͺ½μμ μ€λ₯Έμͺ½μ΄λ©΄μ Root nodeμ μμΉμ λ°λΌ λλμ΄μ§λ€κ³ μκ°νλ©΄ μ½λ€.
# μ¬κ·ν¨μλ₯Ό μ¬μ©ν νΈλ¦¬κ΅¬μ‘° μν
## μ μ
def pre_order(node):
print(node.value)
pre_order(node.left)
pre_order(node.right)
## μ€μ
def in_order(node):
in_order(node.left)
print(node.value)
in_order(node.right)
## νμ
def post_order(node):
post_order(node.left)
post_order(node.right)
print(node.value)