Skip to main content

Find The Height of Binary Tree - Java Program

 Important points:
  • Height of tree = Number of edges in longest path from root to leaf
  • Height of a node = Number of edges in longest path from the node to a leaf node
  • Depth of a node = Number of edges in path from root to that node
  • Height of above tree is 3. Longest path is F -> B -> D -> E
  • Height of Node E is 0 and depth is 3. 
  • Depth of node B is 1 and height is 2. 

Pseudo Code:
FindHeight(root) {
if(root is NULL)
return -1; // return 0 if you want to count the node in the path
leftHeight <- FindHeight(root -> left)
rightHeight <- FindHeight(root -> right)
return max(lefHeight, rightHeight) + 1
}

JAVA PROGRAM:

public class BinTreeHeight {
static int max(int hlint  hr) {
if(hl > hr) {
return hl;
}
return hr;
}
static int treeHeight(Node n) {
int hl = 0;
int hr = 0;
if(n == null) {
return -1;
}
hl =  treeHeight(n.left);
hr =  treeHeight(n.right);
return max(hl, hr) + 1;
}
    
    public static void main(String a[]) {
    Node binTree = new Node(
    new Node(null, null, 5),
    new Node(
    new Node(null, null, 6),
    new Node(null, null, 9),
    8
),
    2
);
    
    System.out.println(treeHeight(binTree));
    }
}

//OUTPUT: 3

Comments

Popular posts from this blog

Nudge Notes - Python Language Basics

  1. Datatypes in Python: None Numeric float -> 1.5 int -> 5 complex -> 2+5j bool -> True/false Sequence List -> [3,5,6,7,1] Tuple -> (3,5,6,7,1) Set -> {3,5,6,7,1} String -> "Akshay" Range  range(5) -> range(0, 5)  list(range(5)) -> [0,1,2,3,4] list(range(2,10,2)) -> [2,4,6,8] Dictonary product_price = {'book': 50, 'pen': 300, 'eraser': 10}  product_price.get('book') -> 50 2. Number Conversion in Python bin( 28 ) -> 0b 11100 oct( 28 ) -> 0o 34  hex( 28 ) ->  0x 1c 3. Swap two numbers in Python           a = 5       b = 6 Method #1:             a, b = b, a Method #2            a = a + b         b = a - b         a = a - b 4. "math" module in python     import math math.sqrt(25) -> 5.0 math.floor(2.5) -> 2.0 math.ceil(2.5) -> 3.0 math.pow(2, 3) -> 8.0 math.pi -> 3.141592653589793 math.e -> 2.718281828459045 5. How to import a module in python import math import math as

Python Language Basics - 2

Slice string in python: details= "Akshay Kumar Gupta--akshaygupta.me" # details[:6] and details[0:6] will give same result print(details[: 6 ]) # OUTPUT: Akshay # details[20:] and details[20:34] will give same result print(details[ 20 :]) # OUTPUT: akshaygupta.me # -1 denotes the reverse order print(details[ 11 ::- 1 ]) #OUTPUT: ramuK yahskA # Here -9 denotes the count from the end of the string print(details[:- 9 :- 1 ]) #OUTPUT: em.atpug #Both syntax gives the same result for reversing the string print(details[- 1 ::- 1 ]) #OUTPUT: em.atpugyahska--atpuG ramuK yahskA print(details[::- 1 ]) #OUTPUT: em.atpugyahska--atpuG ramuK yahskA Format print in python: print( "hi, My name is {} and I am a {}. I like {}." .format( "Akshay" , "Software Engineer" , "python" )) In the above print statement, "{}" refers to the placement of the values given in "format()" function. First value in the order "format()"

Simple way to import and export collections in MongoDB

  A simple command will help to import and export collections in mongoDB. Export/Dump Collections in MongoDB: mongodump -d <database_name> -o <directory_backup> The above command will dump all the collections in the defined directory. eg: if your database name is awesome_db and you selected the my_db_backup as backup directory then you need run below command: mongodump -d awesome_db  -o my_db_backup If your db has authentication enabled then pass -u <username> -p <press enter> with the above command. Import/Restore Collection in MongoDB: mongorestore -d <database_name> <directory_backup> Similarly this command will restore the collections in the mongodb database.  for eg: mongodump -d awesome_db -o my_db_backup pass the authentication -u <username> -p <press enter> if your mongodb has authentiction.