[白俊]199:ツリー巡り
質問する
https://www.acmicpc.net/problem/1991
に答える
import sys
n = int(sys.stdin.readline())
nodes = {} # 이진 트리 노드
for i in range(n):
a, b, c = sys.stdin.readline().split()
nodes[a] = [b, c] # node[루트][0] : 좌측 자식 노드 | node[루트][1] : 우측 자식 노드
# 전위 순회 : (루트) (왼쪽 자식) (오른쪽 자식)
def preorder(root = 'A'):
if root == ".":
return
print(root, end = "")
preorder(nodes[root][0])
preorder(nodes[root][1])
# 중위 순회 : (왼쪽 자식) (루트) (오른쪽 자식)
def inorder(root = 'A'):
if root == ".":
return
inorder(nodes[root][0])
print(root, end = '')
inorder(nodes[root][1])
# 후위 순회 : (왼쪽 자식) (오른쪽 자식) (루트)
def postorder(root = 'A'):
if root == '.':
return
postorder(nodes[root][0])
postorder(nodes[root][1])
print(root, end='')
preorder()
print()
inorder()
print()
postorder()
Reference
この問題について([白俊]199:ツリー巡り), 我々は、より多くの情報をここで見つけました https://velog.io/@letsbebrave/백준-1991-트리-순회-jletn71lテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol