 GFG App
Open App Browser
Continue

# Height of a complete binary tree (or Heap) with N nodes

Consider a Binary Heap of size N. We need to find the height of it.

Examples:

```Input : N = 6
Output : 2
()
/    \
()     ()
/  \    /
()    () ()

Input : N = 9
Output : 3
()
/    \
()     ()
/  \    /  \
()    () ()   ()
/ \
()  ()```
Recommended Practice

Let the size of the heap be N and the height be h. If we take a few examples, we can notice that the value of h in a complete binary tree is floor(log2N).

Examples:

``` N    h
---------
1    0
2    1
3    1
4    2
5    2
.....
.....```

Implementation:

## C++

 `// CPP program to find height of complete` `// binary tree from total nodes.` `#include ` `using` `namespace` `std;`   `int` `height(``int` `N)` `{` `    ``return` `floor``(log2(N));` `}`   `// driver node` `int` `main()` `{` `    ``int` `N = 2;` `    ``cout << height(N);` `    ``return` `0;` `}`

## Java

 `// Java program to find height` `// of complete binary tree` `// from total nodes.` `import` `java.lang.*;`   `class` `GFG {` `    `  `    ``// Function to calculate height ` `    ``static` `int` `height(``int` `N)` `    ``{` `        ``return` `(``int``)Math.ceil(Math.log(N + ` `                    ``1``) / Math.log(``2``)) - ``1``;` `    ``}`   `    ``// Driver Code` `    ``public` `static` `void` `main(String[] args)` `    ``{` `        ``int` `N = ``6``;` `        ``System.out.println(height(N));` `    ``}` `}`   `// This code is contributed by` `// Smitha Dinesh Semwal`

## Python 3

 `# Python 3 program to find ` `# height of complete binary` `# tree from total nodes.` `import` `math` `def` `height(N):` `    ``return` `math.ceil(math.log2(N ``+` `1``)) ``-` `1`   `# driver node` `N ``=` `6` `print``(height(N))`   `# This code is contributed by` `# Smitha Dinesh Semwal`

## C#

 `// C# program to find height` `// of complete binary tree` `// from total nodes.` `using` `System;`   `class` `GFG {` `    ``static` `int` `height(``int` `N)` `    ``{` `        ``return` `(``int``)Math.Ceiling(Math.Log(N ` `                   ``+ 1) / Math.Log(2)) - 1;` `    ``}`   `    ``// Driver node` `    ``public` `static` `void` `Main()` `    ``{` `        ``int` `N = 6;` `        ``Console.Write(height(N));` `    ``}` `}`   `// This code is contributed by` `// Smitha Dinesh Semwal`

## PHP

 ``

## Javascript

 ``

Output

`1`

Time Complexity: O(1), Since performing constant operations.
Auxiliary Space: O(1), Since constant extra space is used.

My Personal Notes arrow_drop_up