From bfa815a2fc2d9ed977acf6463c0cb6857b942bae Mon Sep 17 00:00:00 2001 From: amankumargupta Date: Thu, 8 Jun 2017 10:48:13 +0530 Subject: [PATCH 1/2] Added node count and leaf count --- traverals/binary_tree_traversals.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/traverals/binary_tree_traversals.py b/traverals/binary_tree_traversals.py index 9cf118899059..c3521b44c164 100644 --- a/traverals/binary_tree_traversals.py +++ b/traverals/binary_tree_traversals.py @@ -11,7 +11,6 @@ def __init__(self, data): self.right = None self.left = None - def build_tree(): print("\n********Press N to stop entering at any point of time********\n") print("Enter the value of the root node: ", end="") @@ -43,19 +42,21 @@ def build_tree(): def pre_order(node): + no_of_nodes=0 if not isinstance(node, TreeNode) or not node: - return + return 0 print(node.data, end=" ") - pre_order(node.left) - pre_order(node.right) + return 1+pre_order(node.left)#counting number of left nodes + return 1+pre_order(node.right)#counting number of right nodes def in_order(node): + leaf_count=0 if not isinstance(node, TreeNode) or not node: - return + return 0 in_order(node.left) print(node.data, end=" ") - in_order(node.right) + return 1+in_order(node.right)#counting number of leaf nodes def post_order(node): @@ -90,14 +91,13 @@ def level_order(node): input_function = raw_input else: input_function = input - node = build_tree() print("\n********* Pre Order Traversal ************") - pre_order(node) + no_of_nodes=pre_order(node) print("\n******************************************\n") print("\n********* In Order Traversal ************") - in_order(node) + leaf_count=in_order(node) print("\n******************************************\n") print("\n********* Post Order Traversal ************") @@ -107,3 +107,6 @@ def level_order(node): print("\n********* Level Order Traversal ************") level_order(node) print("\n******************************************\n") + print("\nTotal number of nodes : ",no_of_nodes) + print("\nTotal number of leafs : ",leaf_count) + From ecf5624a7609c4d49f0b8e8859071bae4df7c381 Mon Sep 17 00:00:00 2001 From: amankumargupta Date: Thu, 8 Jun 2017 11:02:17 +0530 Subject: [PATCH 2/2] Added node count and leaf count --- traverals/binary_tree_traversals.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/traverals/binary_tree_traversals.py b/traverals/binary_tree_traversals.py index c3521b44c164..c4c5811c7ae3 100644 --- a/traverals/binary_tree_traversals.py +++ b/traverals/binary_tree_traversals.py @@ -44,7 +44,7 @@ def build_tree(): def pre_order(node): no_of_nodes=0 if not isinstance(node, TreeNode) or not node: - return 0 + return print(node.data, end=" ") return 1+pre_order(node.left)#counting number of left nodes return 1+pre_order(node.right)#counting number of right nodes @@ -53,7 +53,7 @@ def pre_order(node): def in_order(node): leaf_count=0 if not isinstance(node, TreeNode) or not node: - return 0 + return in_order(node.left) print(node.data, end=" ") return 1+in_order(node.right)#counting number of leaf nodes