-
Notifications
You must be signed in to change notification settings - Fork 0
/
Tree.py
71 lines (61 loc) · 1.45 KB
/
Tree.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
'''
树的构建:
3
9 20
15 7
'''
class Tree():
'树的实现'
def __init__(self,left = 0,right = 0,data = 0):
self.left = left
self.right = right
self.data = data
class MyTree():
'二叉树的实现'
def __init__(self,base = 0):
self.base = base
def _Empty(self):
'是否为空树'
if self.base == 0:
return True
else:
return False
def qout(self,tree_base):
'前序遍历:根-左-右'
if tree_base == 0:
return
print(tree_base.data,end='')
self.qout(tree_base.left)
self.qout(tree_base.right)
def mout(self,tree_base):
'中序遍历:左-根-右'
if tree_base == 0:
return
self.mout(tree_base.left)
print(tree_base.data,end='')
self.mout(tree_base.right)
def hout(self,tree_base):
'后序遍历:左-右-根'
if tree_base == 0:
return
self.hout(tree_base.left)
self.hout(tree_base.right)
print(tree_base.data,end='')
# test tree
tree1 = Tree(data=15)
tree2 = Tree(data=7)
tree3 = Tree(tree1,tree2,data=20)
tree4 = Tree(data=9)
base = Tree(tree4,tree3,3)
MyTree = MyTree(base)
print('''
前序遍历结果:''')
MyTree.qout(MyTree.base)
print('''
中序遍历结果:''')
MyTree.mout(MyTree.base)
print('''
后序遍历结果:''')
MyTree.hout(MyTree.base)
tem = 'hello world'
print(tem[-5:0])