Skip to content

Commit 940668e

Browse files
committed
traversal in binary tree
1 parent 1b0d751 commit 940668e

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

binary_tree.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
class Node:
2+
def __init__(self, data):
3+
self.data = data
4+
self.left = None
5+
self.right = None
6+
7+
8+
class BinaryTree:
9+
def __init__(self, data):
10+
self.root = Node(data)
11+
12+
def preorder(self, start):
13+
if start is None:
14+
return
15+
print(start.data, end=' ')
16+
self.preorder(start.left)
17+
self.preorder(start.right)
18+
19+
def inorder(self, start):
20+
if start is None:
21+
return
22+
self.inorder(start.left)
23+
print(start.data, end=' ')
24+
self.inorder(start.right)
25+
26+
def postorder(self, start):
27+
if start is None:
28+
return
29+
self.postorder(start.left)
30+
self.postorder(start.right)
31+
print(start.data, end=' ')
32+
33+
34+
tree = BinaryTree(3)
35+
tree.root.left = Node(4)
36+
tree.root.left.left = Node(6)
37+
tree.root.left.right = Node(7)
38+
tree.root.right = Node(5)
39+
tree.root.right.left = Node(8)
40+
tree.root.right.right = Node(9)
41+
print('postorder traversal: ')
42+
tree.preorder(tree.root)
43+
print('\ninorder traversal: ')
44+
tree.inorder(tree.root)
45+
print('\npostorder traversal: ')
46+
tree.postorder(tree.root)
47+
48+

0 commit comments

Comments
 (0)