Insertion Sort Algorithm
Insertion Sort Algorithm
http://www.tutorialspoint.com/data_structures_algorithms/insertion_sort_algorithm.htm
Copyright © tutorialspoint.com
This is a in-place comparison based sorting algorithm. Here, a sub-list is maintained which is
always sorted. For example, the lower part of an array is maintained to be sorted. A element which
is to be 'insert'ed in this sorted sub-list, has to find its appropriate place and insert it there. Hence
the name insertion sort.
The array is searched sequentially and unsorted items are moved and inserted into sorted sub-list
inthesamearray. This algorithm is not suitable for large data sets as its average and worst case
complexity are of Ο(n2 ) where n are no. of items.
It finds that both 14 and 33 are already in ascending order. For now, 14 is in sorted sub-list.
It swaps 33 with 27. Also it checks with all the elements of sorted sublist. Here we see that sorted
sub-list has only one element 14 and 27 is greater than 14. Hence sorted sub-list remain sorted
after swapping.
By now we have 14 and 27 in the sorted sublist. Next it compares 33 with 10,.
And we swap them. By the end of third iteration we have a sorted sublist of 3 items.
This process goes until all the unsorted values are covered in sorted sublist. And now we shall see
some programming aspects of insertion sort.
Algorithm
Now we have a bigger picture of how this sorting technique works, so we can derive simple steps
by which we can achieve insertion sort.
Pseudocode
procedure insertionSort( A : array of items )
int holePosition
int valueToInsert
end for
end procedure