indent CLnt level 0, i ‘ level, i.. ) for (int i System.out public stat i. Int b
ID: 3689851 • Letter: I
Question
indent CLnt level 0, i ‘ level, i.. ) for (int i System.out public stat i. Int bin search-(Int », Int 10. inthlgh, tetkey, ist 1. Int widj indent (level)i if (low high) " level ")"); id-(low high)2 indent Cleve I ) ;-Syst e. out.pr intIn(_si.- .-14) Indent ( level): System out.printin"nid-Inid]): ia); indent (level): System.out.printi(keyxld) indent(level): System.out.printlnt"returnmid) return mid else if (key>x id]) indent(level); System.out . printin("key>"Id)"); result -binse arch(x, nid + 1, high, key, level+ i) indent (level); System out.printintretsut return result else I/ keyExplanation / Answer
public class Recursion
{
public static void indent(int level)
{
for (int i=0; i<level;i++ )
System.out.println(" ");
}
public static int binsearch(int[] x, int low,int high,int key,int level)
{
int mid;
int result;
indent(level);
System.out.println("binsearch[x, low = " + low + ", high = " + high + ", key = " + key + ", level = " + level + ")");
if(low<high)
{
mid = (low+high)/2;
indent(level);
System.out.println("mid = " + mid);
indent(level);
System.out.println("x[mid] = " + x[mid]);
if(key == x[mid])
{
indent(level);
System.out.println("key == x[mid]");
indent(level);
System.out.println("return " + mid);
return mid;
}
else if( key > x[mid])
{
indent(level);
System.out.println("key > x[mid]");
result = binsearch(x,mid+1,high,key,level+1);
indent(level);
System.out.println("return " + result);
return result;
}
else
{
indent(level);
result = binsearch(x,low,mid-1,key,level+1);
indent(level);
System.out.println("return " + result);
return result;
}
}
else
{
indent(level);
System.out.println("return -1");
return -1;
}
}
public static void main(String[] args)
{
final int size = 10;
int[] a = new int[size];
for (int i =0;i<size ;i++ ) {
a[i] = i;
}
int key=7;
System.out.println("Value " + key + " is at index " + binsearch(a,0,size-1,key,0));
}
}
OUTPUT:
binsearch[x, low = 0, high = 9, key = 7, level = 0)
mid = 4
x[mid] = 4
key > x[mid]
binsearch[x, low = 5, high = 9, key = 7, level = 1)
mid = 7
x[mid] = 7
key == x[mid]
return 7
return 7
Value 7 is at index 7
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.