0% found this document useful (0 votes)
44 views

Insertion Sort

Andleeb Fatima presented on insertion sort for her BS IT class. Insertion sort is an in-place comparison sorting algorithm that maintains a sorted sub-list by taking unsorted items from the main list and inserting them into the correct location in the sorted sub-list. It has an average and worst-case time complexity of Ο(n2) for lists of size n, making it inefficient for large data sets. The algorithm iterates through the list and inserts each element into the sorted portion by shifting larger elements out of the way.

Uploaded by

Andleeb jutti
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Insertion Sort

Andleeb Fatima presented on insertion sort for her BS IT class. Insertion sort is an in-place comparison sorting algorithm that maintains a sorted sub-list by taking unsorted items from the main list and inserting them into the correct location in the sorted sub-list. It has an average and worst-case time complexity of Ο(n2) for lists of size n, making it inefficient for large data sets. The algorithm iterates through the list and inserts each element into the sorted portion by shifting larger elements out of the way.

Uploaded by

Andleeb jutti
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Name: Andleeb Fatima

Class: BS IT

Presented To : Prof. Sheraz Sikander

PRESENTATION TOPIC: INSERTION SORT

ASPIRE GROUP OF COLLEGE PHALIA CAMPUS


Insertion Sort
This is an 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. An element which is to be inserted in
this sorted sub-list, has to find its appropriate place and then it has to be
inserted there. Hence the name, insertion sort.

The array is searched sequentially and unsorted items are moved and
inserted into the sorted sub-list (in the same array). This algorithm is not
suitable for large data sets as its average and worst case complexity are
of Ο(n2), where n is the number of items.
How Insertion Sort Works?
We take an unsorted array for our example.

14 33 27 10 35 19 42 44

Insertion sort compares the first two elements.

14 33 27 10 35 19 42 44

It finds the both 14 and 33 are already in ascending order. For now, 14 is
in sorted sub-list.

14 33 27 10 35 19 42 44
Insertion sort moves ahead and compares 33 with 27.

14 33 27 10 35 19 42 44

And finds that 33 is not in the correct position.

14 33 27 10 35 19 42 44

It swaps 33 with 27. It also checks with the elements of sorted sub-list.
Here we see that the sorted sub-list has only one element 14 and 27 is
greater than 14. Hence, the sorted sub-list remains sorted after swapping.

14 27 33 10 35 19 42 44
By now we have 14 and 27 in the sorted sub-list. Next, it compares 33
with 10.

14 27 33 10 35 19 42 44

These values are not in a sorted order.

14 27 33 10 35 19 42 44

So we swap them.

14 27 10 33 35 19 42 44
However, swapping makes 27 and 10 unsorted.

14 27 10 33 35 19 42 44

Hence, we swap them too.

14 10 27 33 35 19 42 44

Again we find 14 and 10 in an unsorted order.

14 10 27 33 35 19 42 44
We swap them again. By the end of the third iteration, we have a sorted
sub-list of 4 items.

10 14 27 33 35 19 42 44

This process goes on until all the unsorted values are covered in a sorted
sub-list. 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.

Step 1 − If it is the first element, it is already sorted. return 1;


Step 2 − Pick next element
Step 3 − Compare with all elements in the sorted sub-list
Step 4 − Shift all the elements in the sorted sub-list that is greater than the
value to be sorted
Step 5 − Insert the value
Step 6 − Repeat until list is sorted
Pseudocode
procedure insertionSort( A : array of items )
int holePosition
int valueTo Insert
for i = 1 to length(A) inclusive do:
Value To Insert = A[i]
holePosition = I
while holePosition > 0 and A[holePosition-1] > valueToInsert do:
A[holePosition] = A[holePosition-1]
holePosition = holePosition -1
end while
A[hole Position] = valueToInsert
end for
end procedure

You might also like