Copy codeThe Code is as follows:
#! /Usr/bin/python
#-*-Coding: UTF-8 -*-
Class TreeNode (object ):
Def _ init _ (self, data = 0, left = 0, right = 0 ):
Self. data = data
Self. left = left
Self. right = right
Class BTree (object ):
Def _ init _ (self, root = 0 ):
Self. root = root
Def is_empty (self ):
If self. root is 0:
Return True
Else:
Return False
Def preOrder (self, treenode ):
If treenode is 0:
Return
Print treenode. data
Self. preOrder (treenode. left)
Self. preOrder (treenode. right)
Def inOrder (self, treenode ):
If treenode is 0:
Return
Self. inOrder (treenode. left)
Print treenode. data
Self. inOrder (treenode. right)
Def postOrder (self, treenode ):
If treenode is 0:
Return
Self. postOrder (treenode. left)
Self. postOrder (treenode. right)
Print treenode. data
N1 = TreeNode (data = 1)
N2 = TreeNode (2, n1, 0)
N3 = TreeNode (3)
N4 = TreeNode (4)
N5 = TreeNode (5, n3, n4)
N6 = TreeNode (6, n2, n5)
N7 = TreeNode (7, n6, 0)
N8 = TreeNode (8)
Root = TreeNode ('root', n7, n8)
Bt = BTree (root)
Print 'preorder ......'
Print bt. preOrder (bt. root)
Print 'inorder ......'
Print bt. inOrder (bt. root)
Print 'storder .....'
Print bt. postOrder (bt. root)
Result:
PreOrder ......
Root
7
6
2
1
5
3
4
8
InOrder ......
1
2
6
3
5
4
7
Root
8
PostOrder .....
1
2
3
4
5
6
7
8
Root