Question
in python, Implement the insertion sort algorithm (Algorithm 1). Set n = 1000. Populate your input test array with random elements. (a) (10 points) Test
in python, Implement the insertion sort algorithm (Algorithm 1). Set n = 1000. Populate your input test array with random elements. (a) (10 points) Test its performance in the best-case where entire array is already sorted you can do this by calling your languages sort routine on the input array, before calling insertion sort on it. (b) (10 points) Test its performance in the worst case by passing a reverse-sorted array as input. (c) (10 points) Manually populate your array with a fixed, same value for all elements (dont use the random number generator this time). Run insertion sort on it. (d) (15 points) Now, modify the code of insertion sort so that it sorts the array in reverse order. Test the worst-case on it the worst-case here is triggered by passing the sorted array as input. In all 4 cases of insertion sort, plot the run-time on a single graph.
Algorithm 1: Insertion sort Input : Unsorted array A Output: A with sorted elements 1 for j = 2 to A.length do 2 key = A[j] /* Insert A[j] into sorted sequence A[1..j 1] */ 3 i = j 1 4 while i > 0 and A[i] > key do 5 A[i + 1] = A[i] 6 i = i 1 7 end 8 A[i + 1] = key 9 end 10 return A
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started