Question: Consider the following search method. private static int search (int[] a, int target, int left, int right) { if (left > right) return 1 else
Consider the following search method.
private static int search (int[] a, int target, int left, int right) {
if (left > right)
return 1
else {
int midpoint = (left + right) / 2
if (a[midpoint] == target)
return midpoint
else if (a[midpoint] < target)
return search (a, target, midpoint + 1, right)
else
return search (a, target, left, midpoint - 1)
}
}
Which of the following might be described as the base case(s) for this method to end the recursion?
when the value is found in the middle of the range
if (a[midpoint] == target) when there are no elements in the specified range of indices
if (left > right) When the midpoint value is greater than the target
if (a[midpoint] > target) When the midpoint value is less than the target
if (a[midpoint] < target)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
