CS301 Data Structures Assignment No 02 Spring 2020 Solution & Discussion
As you know, Binary Search Tree (BST) has property that on the addition of a node in the tree, we compare it with root node. If new node is less than root node, it can be added to the left sub-tree. Otherwise, it will be added to the right sub-tree. So, the BST will have numbers (or nodes) less than the root in the left sub-tree and the numbers greater than the root will be in the right sub-tree.
Following is a snapshot of Binary Search Tree (BST).
You are required to develop a C++ program implementing Binary Search Tree (BST) data structure for the above scenario.
For this you need to;
1. Construct Binary Search Tree, based upon above given tree data
2. Calculate minimum node (or number), maximum node, height and total number of nodes for BST
Your solution must contain a tree node class named as TNode, insert() method, buildTree() method, minNode() method, maxNode() method, treeHeight() method and countNodes() method. You should call BuildTree() method in main() method and call insert() method inside BuildTree() method so that insert() method can actually add nodes in BST.
You must call the above-mentioned methods from main to calculate minimum node, maximum node, height and total number of nodes for the BST.
Remember, the height of root node is 1 while depth or level of root node is 0 in tree.