Question: PLEASE PROVIDE PYTHON CODE FOR THE FOLLOWING FUNCTION WITH COMMENTS AND SCREENSHOT OF THE CODE. Insertion sort is a simple sorting algorithm that builds the
PLEASE PROVIDE PYTHON CODE FOR THE FOLLOWING FUNCTION WITH COMMENTS AND SCREENSHOT OF THE CODE.


Insertion sort is a simple sorting algorithm that builds the final sorted array one item at a time. In each iteration, insertion sort inserts an element into an already sorted list (on left). The position where the item will be inserted is found through linear search. You decided to improve insertion sort by using binary search to find the position p where the new insertion should take place. Algorithm BinaryinsertionSort Input/output: takes an integer array a = {a[0], ..., a[n - 1]} of size n begin Binaryinsertion Sort for i =1 to n val = a[i p = BinarySearch(a, val, 0, 1 - 1) for j = 1-1 top alj + 1]= a[j] j=j-1 end for a[p] = val i = i + 1 end for end Binarylnsertion Sort Here, val = a[i] is the current value to be inserted at each step i into the already sorted part a[o], ..., a[i 1] of the array a. The binary search along that part returns the position p where the val will be inserted. After finding p, the data values in the subsequent positions j = 1-1,..., p are sequentially moved one position up to i,..., p+1 so that the value val can be inserted into the proper position p. Implement function Binary InsertionSort that takes an unsorted array as a parameter and returns a sorted array. >>> BinaryInsertionSort([37, 23, 6, 17, 12, 72, 31, 46, 100, 88, 54]) [0, 12, 17, 23, 31, 37, 46, 54, 72, 88, 100] >>> BinaryInsertionSort([5, 2, 7, 10, 3, 5, 2, 1, 8, 9]) [1, 2, 2, 3, 5, 5, 7, 8, 9, 10]
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
