Menu



Manage

Cord > Study_Algorithm 전체 다운로드
Study_Algorithm > 12/week12_01_chap08_02_self.py Lines 83 | 1.6 KB
다운로드

                        # week12_01_chap08_02_self.py
class TreeNode:
    def __init__(self):
        self.left = None
        self.data = None
        self.right = None


node1 = TreeNode()
node1.data = '화사'

node2 = TreeNode()
node2.data = '솔라'
node1.left = node2

node3 = TreeNode()
node3.data = '문별'
node1.right = node3

node4 = TreeNode()
node4.data = '휘인'
node2.left = node4

node5 = TreeNode()
node5.data = '쯔위'
node2.right = node5

node6 = TreeNode()
node6.data = '선미'
node3.left = node6

node7 = TreeNode()
node7.data = '다현'
node4.right = node7

node8 = TreeNode()
node8.data = '사나'
node6.right = node8


def preorder(node):
    if node is None:
        return
    print(node.data, end='->')
    preorder(node.left)
    preorder(node.right)


def inorder(node):
    if node is None:
        return
    inorder(node.left)
    print(node.data, end='->')
    inorder(node.right)


def postorder(node):
    if node is None :
        return
    postorder(node.left)
    postorder(node.right)
    print(node.data, end='->')


print(node1.data, end=' ')
print()
print(node1.left.data,  node1.right.data, end=' ')
print()
print(node1.left.left.data, node1.left.right.data, node1.right.left.data, end=' ')
print()
print("  ", node1.left.left.right.data, "  ", "  ", "  ", node1.right.left.right.data, end=' ')

print('\n전위 순회 : ', end = '')
preorder(node1)
print('끝')

print('중위 순회 : ', end = '')
inorder(node1)
print('끝')

print('후위 순회 : ', end = '')
postorder(node1)
print('끝')