Question
The following recursive algorithm returns the index of the smallest element in a list A containing n elements. The elements in the list are assumed
The following recursive algorithm returns the index of the smallest element in a list A containing n elements. The elements in the list are assumed to start from index # 1
findMin (startIndex, A) if startIndex = n // case of list containing one element return startIndex x = findmin (startIntex+1, A) // find min in elements index+1 .. n if A[x] < A[startIndex] // compare it with element at index return x // return the index of the smallest else return startIndex
Using the algorithm in above, write a recursive version for Selection Sort. For those who dont remember Selection Sort, below is the pseudocode for it. Note that the version below does not use the recursive findMin outlined in above. Then write a Recurrence Relation for the time complexity of your recursive selection sort algorithm you developed in c) above, then solve it to find its time complexity.
selSort (A) for i = 1 to n-1 minIndex = i // find the index of the min element between j and n for j = i+1 to n if A[j] < A [minIndex] minIndex = j swap (A[i], A[minIndex]) // swap the min element with the ith element
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