[Webinar] Streamline your web hosting managementRegister Today

x
Solved

# height of binary tree

Posted on 2002-05-01
Medium Priority
3,285 Views
hello
i have to find the height of binary tree....which is
height of binary tree=log2n +1
but i want some code in c++ to find the height .....
0
Question by:annihilator

LVL 30

Expert Comment

ID: 6984082
It's agaisnt EE policy to do homework questions.
0

LVL 4

Expert Comment

ID: 6984104
log n + 1 is NOT the height of a binary tree, it is only the minimum height.  The height is only lob n + 1 when the tree is balanced.

I use to see that mistake all the time when I taught this stuff, so I feel obligated to pick on it.

Anyways, there are two approaches you can take.  If you've tracked the number of nodes in the tree, then you can just run the formula you stated.  The other method is to use the first segment of a depth-first traversal.
0

LVL 2

Accepted Solution

frechter earned 200 total points
ID: 6985434
this is a recursive c (or c++) function:

int height(node * p_root) {
if (p_root) {
//fing the height of the left and right sons
int left_height = height(p_root->left);
int right_height = height(p_root->right);

//return the max height (max(left,right))
if (left_height>right_height) return  left_height+1;
else reutrn right_height+1;

} else  return 0; //if this is the bottom  of the tree

}

0

LVL 4

Expert Comment

ID: 6987835
Hey frechter, you may want to look over the EE homework policy!
0

Expert Comment

ID: 6987938
You can see C++ code thro book

Data Structures using C and C++ by Tannenbaum.
0

Expert Comment

ID: 21434327
"return 0;"

in most cases, it should be "return -1;"
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Steps to fix error: “Couldn’t mount the database that you specified. Specified database: HU-DB; Error code: An Active Manager operation fail”
This applies to Dell but may also apply to other manufacturers as well. We ran across a few machines that just dropped recently it trust relationship with the server. After doing the basic removing and joining the domain again, it changed to No logo…