Given a binary search tree with the following declaration:
I need to find all the shortest paths in the tree. For example:Code:struct node {int value; Node *left, *right;}; class BST{ private: Node *head; public: BST(){head = NuLL;} };
I should print:
10
/ \
6 15
/ \ \
2 7 12
10 6 2
10 6 7
10 15 12
I am allowed to make use of data structures of list, stack and queue together with their basic manipulation functions.
Can someone give me an idea on how should i start(don't need codes)? I believe i need to find the min ht of the tree first, but i dont even know how to do that.
Second Question:
How is a function to find the max ht of a BST typically written? I thought of one way and i need someone to tell me if there's a better way
Code://pass the root of a non empty tree to this node // the functions returns the max ht through maxHt void BST::findMaxHt(node *rt,int curHt=0, int &maxHt) { if(rt==NULL) return; if(curHt>maxHt) maxHt= curHt; findMaxHt(rt->left, curHt+1, maxHt); findMaxtHt(rt->right, curHt+1, maxHt); }



LinkBack URL
About LinkBacks


