Skip to main content

Types of Binary Tree

A tree whose elements have at most 2 children is called a binary tree.

The three common types of Binary Trees.

  • Full Binary Tree
  • Complete Binary Tree
  • Perfect Binary Tree

Full Binary Tree

A Binary Tree is a full binary tree if every node has 0 or 2 children. The nodes of full binary tree have two children except leaf nodes.


No of Leaf Nodes = No of Internal Nodes + 1

Complete Binary Tree

A Binary Tree is a complete binary tree if all levels completely filled except last level and nodes in last level are as left as possible.

Max no of nodes at level i = 2i

Perfect Binary Tree

A Binary Tree is a perfect binary tree in which all internal nodes have two children and all leaf nodes are at the same depth or same level.

Maximum no of nodes in a binary tree with height h = 2h+1  – 1 

Height of complete binary tree h = floor (log2n) 

Balanced Binary Tree is a tree in which height of the left and the right sub trees of every node may differ by at most 1.

The complete binary trees can be represented in memory with the use of an array A. The nodes shall be labelled from top to bottom and left to right order.

Left child of A[i] is at position A[2i]

Right child of A[i] is at position A[2i + 1]

Parent of A[i] is at A[i/2]

Popular posts from this blog

Gaussian Elimination - Row reduction Algorithm

 Gaussian elimination is a method for solving matrix equations of the form, Ax=b.  This method is also known as the row reduction algorithm. Back  Substitution Solving the last equation for the variable and then work backward into the first equation to solve it.  The fundamental idea is to add multiples of one equation to the others in order to eliminate a variable and to continue this process until only one variable is left. Pivot row The row that is used to perform elimination of a variable from other rows is called the pivot row. Example: Solving a linear equation The augmented matrix for the above equation shall be The equation shall be solved using back substitution. The eliminating the first variable (x1) in the first row (Pivot row) by carrying out the row operation. As the second row become zero, the row will be shifted to bottom by carrying out partial pivoting. Now, the second variable (x2)  shall be eliminated by carrying out the row operation again. ...

Exercise 2 - Amdahl's Law

A programmer has parallelized 99% of a program, but there is no value in increasing the problem size, i.e., the program will always be run with the same problem size regardless of the number of processors or cores used. What is the expected speedup on 20 processors? Solution As per Amdahl's law, the speedup,  N - No of processors = 20 f - % of parallel operation = 99% = 1 / (1 - 0.99) + (0.99 / 20) = 1 / 0.01 + (0.99 / 20) = 16.807 The expected speedup on 20 processors is 16.807

Minor, Cofactor, Determinant, Adjoint & Inverse of a Matrix

Consider a matrix Minor of a Matrix I n the above matrix A, the minor of first element a 11  shall be Cofactor The Cofactor C ij  of an element a ij shall be When the sum of row number and column number is even, then Cofactor shall be positive, and for odd, Cofactor shall be negative. The determinant of an n x n matrix can be defined as the sum of multiplication of the first row element and their respective cofactors. Example, For a 2 x 2 matrix Cofactor C 11 = m 11 = | a 22 | = a 22  = 2 Determinant The determinant of A is  |A| = (3 x 2) - (1 x 1) = 5 Adjoint or Adjucate The Adjoint matrix of A , adjA is the transpose of its cofactor matrix. Inverse Matrix A matrix should be square matrix to have an inverse matrix and also its determinant should not be zero. The multiplication of matrix and its inverse shall be Identity matrix. The square matrix has no inverse is called Singular. Inv A = adjA / |A|           [ adjoint A / determ...