- Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathTreeTraversal.py
More file actions
Latest commit
50 lines (46 loc) · 915 Bytes
/
Copy pathTreeTraversal.py
File metadata and controls
50 lines (46 loc) · 915 Bytes
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
'''
preorder, inorder,postorder traversal for the binary tree
'''
classNode(object):
'''
TreeNode
Args: data, left child, right child
'''
def__init__(self,data=None,left=None,right=None):
self.data=data
self.left=left
self.right=right
classBinaryTree(object):
def__init__(self):
self.root=None
defPreOrder(self,node):
ifnodeisNone:
return
self.PreOrder(node.left)
self.PreOrder(node.right)
printnode.data
defInOrder(self,node):
ifnodeisNone:
return
self.PreOrder(node.left)
printnode.data
self.PreOrder(node.right)
defPostOrder(self,node):
ifnodeisNone:
return
printnode.data
self.PostOrder(node.left)
self.PostOrder(node.right)
'''
1
2 4
3 5 6
'''
c=Node(3)
d=Node(5)
e=Node(6)
a=Node(2,c)
b=Node(4,d,e)
root=Node(1,a,b)
tree=BinaryTree()
tree.PreOrder(b)