https://www.acmicpc.net/problem/1991
import sys
input = sys.stdin.readline
class node:
def __init__(self, item, left,right):
self.item = item
self.left = left
self.right = right
def preorder(node):
print(node.item, end='')
if node.left != '.':
preorder(tree[node.left])
if node.right != '.':
preorder(tree[node.right])
def inorder(node):
if node.left != '.':
inorder(tree[node.left])
print(node.item, end='')
if node.right != '.':
inorder(tree[node.right])
def postorder(node):
if node.left != '.':
postorder(tree[node.left])
if node.right != '.':
postorder(tree[node.right])
print(node.item, end='')
n = int(input())
tree={}
for _ in range(n):
i,l,r = input().split()
tree[i] = node(i,l,r)
preorder(tree['A'])
print()
inorder(tree['A'])
print()
postorder(tree['A'])
자기자신(item)과 왼쪽 자식, 오른쪽 자식을 갖는 class를 만들어 이진트리의 각 노드 구현