Exercise 1 Given the following recursive version of selection sort: public void recursiveSelectionSort(int a[], int n, int index) { if (index == n) return; int k = minIndex(a, index, n-1); if (k != index) swap(a, k, index); recursiveSelectionSort(a, n, index + 1); } minIndex is a separate function that finds the smallest value in the given array “a” from “index” to “n-1” index values. swap is a separate function that swaps elements in the given array “a” between the elements at index “k” and “index” respectively. Assuming these 2 functions work as expected, there may be an error with the recursiveSelectionSort code. Answer the following: 1) Design your own set of 8 unsorted integers in an array 2) Determine what the given code will produce with your array by describing what the array looks like with each recursive instance of recursiveSelectionSort 3) If the code does have an error, describe the error, where it is, and how you would fix it For example, if you said your array was [4 2 3 1 5 6 7 8], then based on the code given here, you would show what the array would look like in the first recursiveSelectionSort instance and each of the subsequent instances like: 1st recursive instance: 4 2 3 1 5 6 7 8 2nd recursive instance: 2 3 4 5 1 6 7 8 3rd recursive instance: 2 3 4 5 1 6 7 8 Etc. Then, you would use this to say whether or not the code as it is written is correct. If the given code is not correct, show the code change(s) you would make to fix it.
Exercise 1
Given the following recursive version of selection sort:
public void recursiveSelectionSort(int a[], int n, int index)
{
if (index == n)
return;
int k = minIndex(a, index, n-1);
if (k != index)
swap(a, k, index);
recursiveSelectionSort(a, n, index + 1);
}
minIndex is a separate function that finds the smallest value in the given array “a” from
“index” to “n-1” index values.
swap is a separate function that swaps elements in the given array “a” between the
elements at index “k” and “index” respectively.
Assuming these 2 functions work as expected, there may be an error with the
recursiveSelectionSort code. Answer the following:
1) Design your own set of 8 unsorted integers in an array
2) Determine what the given code will produce with your array by describing what the
array looks like with each recursive instance of recursiveSelectionSort
3) If the code does have an error, describe the error, where it is, and how you would fix
it
For example, if you said your array was [4 2 3 1 5 6 7 8], then based on the code given
here, you would show what the array would look like in the first recursiveSelectionSort
instance and each of the subsequent instances like:
1st recursive instance: 4 2 3 1 5 6 7 8
2nd recursive instance: 2 3 4 5 1 6 7 8
3rd recursive instance: 2 3 4 5 1 6 7 8
Etc.
Then, you would use this to say whether or not the code as it is written is correct. If the
given code is not correct, show the code change(s) you would make to fix it.
Step by step
Solved in 2 steps with 1 images