Skip to content

Commit c2fea8d

Browse files
authored
Create binary_tree.py
1 parent 9b02323 commit c2fea8d

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Binary tree implementation along with tree traversals
2+
3+
class Node:
4+
def __init__(self, data):
5+
self.data = data
6+
self.left = None
7+
self.right = None
8+
9+
# Traverse pre-order
10+
def traversePreOrder(self):
11+
print(self.data, end=" ")
12+
if self.left:
13+
self.left.traversePreOrder()
14+
if self.right:
15+
self.right.traversePreOrder()
16+
17+
18+
# Traverse in-order
19+
def traverseInOrder(self):
20+
if self.left:
21+
self.left.traverseInOrder()
22+
print(self.data, end=" ")
23+
if self.right:
24+
self.right.traverseInOrder()
25+
26+
27+
# Traverse post-order
28+
def traversePostOrder(self):
29+
if self.left:
30+
self.left.traversePostOrder()
31+
if self.right:
32+
self.right.traversePostOrder()
33+
print(self.data, end=" ")
34+
35+
36+
root = Node(1)
37+
38+
root.left = Node(2)
39+
root.right = Node(3)
40+
root.left.left = Node(4)
41+
root.left.right = Node(5)
42+
root.right.left = Node(6)
43+
root.right.right = Node(7)
44+
root.left.left.left = Node(8)
45+
root.left.left.right = Node(9)
46+
47+
print("Pre Order traversal: ", end=" ")
48+
root.traversePreOrder()
49+
print()
50+
print("Post Order traversal: ",end=" ")
51+
root.traversePostOrder()
52+
print()
53+
print("In Order traversal: ",end=" ")
54+
root.traverseInOrder()
55+
print()

0 commit comments

Comments
 (0)