Develop the divide and conquer algorithm def quicksort(input_list, start, end) that takes a list and the positions of the first and last elements in the list to consider as inputs, and that calls partition(input_list, start, end, start) (defined in the previous exercise) to partition the input list into two slices, and then applies itself recursively on the two partitions (neither of which includes the pivot value since it has been already correctly positioned by means of the execution of partition). In addition, define appropriately the base case of the algorithm so as to stop if needed before to run the partition algorithm.
Accompany the implementation of the function with the appropriate test cases.
Develop the divide and conquer algorithm
def quicksort(input_list, start, end) that takes a list and the positions of the first and last elements in the list to consider as inputs, and that callspartition(input_list, start, end, start)(defined in the previous exercise) to partition the input list into two slices, and then applies itself recursively on the two partitions (neither of which includes the pivot value since it has been already correctly positioned by means of the execution of partition). In addition, define appropriately the base case of the algorithm so as to stop if needed before to run the partition algorithm.Accompany the implementation of the function with the appropriate test cases.