class Tree(object):
def __init__(self, value):
self.data = value
self.left = None
self.right = None
def insertLeft(self, value_left):
self.left = Tree(value_left)
return self.left
def insertRight(self, value_right):
self.right = Tree(value_right)
return self.right
def show(self):
print(self.data)
# 先序
def preOrder(node):
if node.data:
node.show()
if node.left:
preOrder(node.left)
if node.right:
preOrder(node.right)
# 中序
def midOrder(node):
if node.data:
if node.left:
midOrder(node.left)
node.show()
if node.right:
midOrder(node.right)
# 后序
def botOrder(node):
if node.data:
if node.left:
botOrder(node.left)
if node.right:
botOrder(node.right)
node.show()
if __name__ == '__main__':
root = Tree("root")
A = root.insertLeft('A')
B = root.insertRight('B')
C = A.insertLeft('C')
D = A.insertRight('D')
F = D.insertLeft('F')
G = D.insertRight('G')
E =B.insertRight('E')
# preOrder(root)
# midOrder(root)
botOrder(root)