Q1-b1: Given an unsorted array A of n distinct integers and…
Q1-b1: Given an unsorted array A of n distinct integers and an integer k, you need to return the k smallest integers in the array in sorted order, where k may be any integer between 1 and n. Suppose that you have the following three algorithms to solve this problem. A1: Sort the array in increasing order, then list the first k integers after sorting. A2: Build a min-heap from these n integers, then call Extract-Min k times. A3: Use the linear time selection algorithm to find the k-th smallest integer in the array, then partition the array about that number to obtain the k smallest numbers in the array, and finally sort the k smallest numbers. Assume that you are using mergesort as your sorting algorithm, and use the linear time build-heap algorithm to build the heap. Let T1(n, k) denote the worst-case running time of Algorithm A1. Let T2(n, k) denote the worst-case running time of Algorithm A2. Let T3(n, k) denote the worst-case running time of Algorithm A3. You need to analyze the worst-case running times of the algorithms using asymptotic notations with both n and k as parameters. Note that k is between 1 and n. Hence k is nominated by n. What is the asymptotic notation for T2(n, k)? Use the most accurate big-O notation in your answer.