Skip to content

Commit bfa815a

Browse files
committed
Added node count and leaf count
1 parent 4fe88f2 commit bfa815a

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

traverals/binary_tree_traversals.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ def __init__(self, data):
1111
self.right = None
1212
self.left = None
1313

14-
1514
def build_tree():
1615
print("\n********Press N to stop entering at any point of time********\n")
1716
print("Enter the value of the root node: ", end="")
@@ -43,19 +42,21 @@ def build_tree():
4342

4443

4544
def pre_order(node):
45+
no_of_nodes=0
4646
if not isinstance(node, TreeNode) or not node:
47-
return
47+
return 0
4848
print(node.data, end=" ")
49-
pre_order(node.left)
50-
pre_order(node.right)
49+
return 1+pre_order(node.left)#counting number of left nodes
50+
return 1+pre_order(node.right)#counting number of right nodes
5151

5252

5353
def in_order(node):
54+
leaf_count=0
5455
if not isinstance(node, TreeNode) or not node:
55-
return
56+
return 0
5657
in_order(node.left)
5758
print(node.data, end=" ")
58-
in_order(node.right)
59+
return 1+in_order(node.right)#counting number of leaf nodes
5960

6061

6162
def post_order(node):
@@ -90,14 +91,13 @@ def level_order(node):
9091
input_function = raw_input
9192
else:
9293
input_function = input
93-
9494
node = build_tree()
9595
print("\n********* Pre Order Traversal ************")
96-
pre_order(node)
96+
no_of_nodes=pre_order(node)
9797
print("\n******************************************\n")
9898

9999
print("\n********* In Order Traversal ************")
100-
in_order(node)
100+
leaf_count=in_order(node)
101101
print("\n******************************************\n")
102102

103103
print("\n********* Post Order Traversal ************")
@@ -107,3 +107,6 @@ def level_order(node):
107107
print("\n********* Level Order Traversal ************")
108108
level_order(node)
109109
print("\n******************************************\n")
110+
print("\nTotal number of nodes : ",no_of_nodes)
111+
print("\nTotal number of leafs : ",leaf_count)
112+

0 commit comments

Comments
 (0)