🖥

[자료구조]트리 순회 (python3 코드)

망록 2022. 12. 24.

 

 

 

inorder: 중위순회 (L-root-R)

preorder: 전위순회 (root-L-R)

postorder: 후위순회 (L-R-root

 

 

갠적인 암기팁..

 

in은 어떤것 안에,, 사이에,,, 간에,,, 있는것이므로 루트를 중간에 순회

pre- 의미가 前,, 먼저,, 이런것이므로 루트를 먼저 순회

post- 는 後이므로 루트를 가장 나중에 순회

 

전 이렇게 외웠는데 아닐수도있음 내가 모를수도,,,

떠올리지 못했을수도

내가 무지했을수도

내가 감히

내가 또 잘못을

 

 

 

import sys

input = sys.stdin.readline
n = int(input())
tree = {}

for i in range(n):
    c, l, r = map(str, input().split())
    tree[c] = l, r

def inorder(v):
    if v != ".":
        inorder(tree[v][0])
        print(v, end = "")
        inorder(tree[v][1])

def preorder(v):
    if v != ".":
        print(v, end = "")
        preorder(tree[v][0])
        preorder(tree[v][1])

def postorder(v):
    if v != ".":
        postorder(tree[v][0])
        postorder(tree[v][1])
        print(v, end = "")

preorder('A')
print()
inorder('A')
print()
postorder('A')

댓글