top of page
Search

Insertion Sort

  • Writer: Abhinaw Tripathi
    Abhinaw Tripathi
  • Oct 24, 2016
  • 2 min read

Insertion Sort

Insertion sort is a simple sorting algorithm that works the way we sort playing cards in our hands.

For Example:

Algorithm:

// Sort an arr[] of size n insertionSort(arr, n); Loop from i = 1 to n-1. Pick element arr[i] and insert it into sorted sequence arr[0…i-1]

Another Example:

12, 11, 13, 5, 6 Let us loop for i = 1 (second element of the array) to 5 (Size of input array) i = 1. Since 11 is smaller than 12, move 12 and insert 11 before 12 11, 12, 13, 5, 6 i = 2. 13 will remain at its position as all elements in A[0..I-1] are smaller than 13 11, 12, 13, 5, 6 i = 3. 5 will move to the beginning and all other elements from 11 to 13 will move one position ahead of their current position. 5, 11, 12, 13, 6 i = 4. 6 will move to position after 5, and elements from 11 to 13 will move one position ahead of their current position. 5, 6, 11, 12, 13

Sample Code:

/** * @author Abhinaw.Tripathi * */ public class InsertionSortApp { public void printArray(int arr[]) { for(int i=0;i<arr.length;i++) { System.out.println(arr[i] + " "); } System.out.println(" "); } public void insertionSort(int arr[]) { int n = arr.length; for (int i=1; i<n; ++i) { int key = arr[i]; int j = i-1;

while (j>=0 && arr[j] > key) { arr[j+1] = arr[j]; j = j-1; } arr[j+1] = key; } } public static void main(String[] args) { int arr[] = {12, 11, 13, 5, 6}; InsertionSortApp ob = new InsertionSortApp(); ob.insertionSort(arr); ob.printArray(arr); } }

Output:

5 6 11 12 13

Time Complexity: O(n*n)

Auxiliary Space: O(1)

Boundary Cases: Insertion sort takes maximum time to sort if elements are sorted in reverse order. And it takes minimum time (Order of n) when elements are already sorted.

Algorithmic Paradigm: Incremental Approach

Sorting In Place: Yes

Stable: Yes

Uses: Insertion sort is used when number of elements is small. It can also be useful when input array is almost sorted, only few elements are misplaced in complete big array.


 
 
 

Recent Posts

See All

Comments


© 2016 by Abhinav Tripathi

  • Facebook Clean Grey
  • Twitter Clean Grey
bottom of page