How The Algorithm insertionSort Operates

$9.00$4.001174 reads

Question

The insertion sort algorithm is stated below. Operation of insertion sort can be described as follows. The list at any moment is divided into two parts: sorted and unsorted. In each pass of the algorithm, the first element of the unsorted sub-list is moved to the sorted sub-list by inserting it at the appropriate place.

(i) Show how algorithm insertionSort operates by tracing it on the list 32, 15, 58, 7, 24, 30.
Fill in the following table.

i

j

tmp

j≥0 ? (true or false)

tmp<A[j]?

(true or false)

A[0]

A[1]

A[2]

A[3]

A[4]

A[5]

….

 

 

 

 

values of A[j] at the end of each iteration


(ii) Give an example of an array that makes the insertion sort exhibit its worst behavior.

(iii) Count how many comparisons tmp < A[j] are done by the algorithm in the worst case (for an arbitrary n) and state its complexity in terms of Big-Oh.

ALGORITHM insertionSort(A[0..n – 1])
//The algorithm sorts a given array by insertion sort
//Input: an array A[0..n – 1] of n numbers
//Output: array A[0..n – 1] sorted in ascending order
for i ← 1 to n – 1 do
tmp ← A[i]
j ← i – 1
while (j≥0 and tmp < A[j]) do
A[j + 1] ← A[j]
j ← j – 1
A[j + 1] ← tmp
output A[0..n – 1]

Summary

The question belongs to Computer Science and it discusses about the algorithm insertionSort.

Total Word Count 251

Add to Cart