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

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

Examples :

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

Input : N = 9
Output :
()
/
()     ()
/      /
()    () ()   ()
/
()  ()
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Let the size of heap be N and height be h
If we take few examples, we can notice that the value of h in a complete binary tree is ceil(log2(N+1)) – 1.
Examples :

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

## C++

 `// CPP program to find height of complete ` `// binary tree from total nodes. ` `#include ` `using` `namespace` `std; ` ` `  `int` `height(``int` `N) ` `{ ` `    ``return` `ceil``(log2(N + 1)) - 1; ` `} ` ` `  `// driver node ` `int` `main() ` `{ ` `    ``int` `N = 6; ` `    ``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

 ` `

Output :

```2
```

## tags:

Heap Tree Tree Heap