Log in
Sign up for FREE
arrow_back
Library

Semester Final Review

star
star
star
star
star
Last updated almost 2 years ago
54 questions
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Question 1
1.

Question 2
2.

Question 3
3.

Question 4
4.

What is output by the code below?
int[] array = {33,14,37,11,27};
System.out.println( array[ 6 - 3 ] );

Question 5
5.

What is output by the code below?
int[] array = {7,8,10,11,4,3};
Arrays.sort( array );
System.out.println(array[2]);

Question 6
6.

Question 7
7.

Question 8
8.

Question 9
9.

What is output by the following code?
int[] array = {1,2,3,4,0};
int aplus = array[array[array[array[0]]]];
System.out.println( aplus );

Question 10
10.

Question 11
11.

Question 12
12.

Question 13
13.

Question 14
14.

What is output by the code below?

Integer[] ray;
ray = new Integer[4];
System.out.println( ray[3] );

Question 15
15.

Question 16
16.

Question 17
17.

Question 18
18.

Question 19
19.

Question 20
20.

Question 21
21.

What do you call the condition that stops recursion?

Question 22
22.

Question 23
23.

Question 24
24.

Question 25
25.

Question 26
26.

Question 27
27.

What is returned by the call fun(8) ?
public static int fun(int x){
if(x < 1)
return 1;
else
return x + fun(x - 2);
}

Question 28
28.

What is returned by the call fun(6) ?
public static int fun(int x){
if(x < 1)
return 1;
else
return x + fun(x - 2);
}

Question 29
29.

Question 30
30.

Question 31
31.

What is returned by the call wacky(5,5) ?
public static int wacky(int x, int y){
if(x <= 1)
return y;
else
return wacky(x - 1,y - 1) + y;
}

Question 32
32.

What is returned by the call wacky(4,6) ?
public static int wacky(int x, int y){
if(x <= 1)
return y;
else
return wacky(x - 1,y - 1) + y;
}

Question 33
33.

Question 34
34.

Question 35
35.

Question 36
36.

Question 37
37.

Question 38
38.

Question 39
39.

Question 40
40.

Question 41
41.

Which of the following sorts has a partition method that uses a pivot location?

Question 42
42.

What is the bigO of the code below?
int n = //user input
for(int i=0; i<n; i++){
for(int j=1; j<n; j=j*2){
System.out.println(i*j);
}
}

Question 43
43.

Which of the these algorithms has a O(1) best case runtime and a O(N) worst case runtime?

Question 44
44.

Which of the these algorithms has a O(N) best case runtime and a O(N*N) worst case runtime?

Question 45
45.

Which of the these algorithms has a O(N*Log2N) best case runtime and a O(N*N) worst case runtime?

Question 46
46.

Which of these is the correct BigO for searching a single linked linked-list?

Question 47
47.

Which of the these algorithms has a O(N*N) best case runtime and a O(N*N) worst case runtime?

Question 48
48.

Which of the these algorithms has a O(1) best case runtime and a O(Log2N) worst case runtime?

Question 49
49.

Which of these is the correct BigO for adding an item to the front of an array?

Question 50
50.

Which of these is the correct BigO for adding an item to the end of an array?

Question 51
51.

Which of these is the correct BigO for adding an item to the front of a Java LinkedList?

Question 52
52.

Which of these is the correct BigO for deleting any item from an ArrayList?

Question 53
53.

Question 54
54.

Consider the following method below.
public static double check(int[] vals)
{
double[] amounts = {.15,.2,.5,.01};
if(amounts.length != vals.length){
return 0.0;
}
double total = 0.0;
for(int i = 0; i < vals.length; i++)
{
total += vals[i] * amounts[i];
}
return total;
}
What will the method check() return if passed the array {7, 3, 5, 4}?
0.86
0.0
4.15
Consider the following method below.
public static double check(int[] vals)
{
double[] amounts = {.15,.2,.5,.01};
if(amounts.length != vals.length){
return 0.0;
}
double total = 0.0;
for(int i = 0; i < vals.length; i++)
{
total += vals[i] * amounts[i];
}
return total;
}
What will the method check() return if passed the array {7, 5, 4}?
19
4.19
0.0
Which of the following swaps elements 0 and 1 in array?
int[] array = {7,8,10,11,4,3};

I.
array[0] = array[1];
array[1] = array[0];

II.
int save = array[0];
array[0] = array[1];
array[1] = save;

III.
array[0]+= array[1];
array[1] = array[0]+array[1];
array[0]-= array[1];
I and II only
I only
II and III only
14
There is no output due to a runtime error.
33
There is no output due to a syntax error.
11
7
3
4
11
8
What is output by the code below?
int[] nums = new int[10];
for (int i=0; i<nums.length; i++)
{
nums[i] = i*3;
}
System.out.println(nums[6]);
27
15
21
What is output by the code below?
int[] array = {7,8,10,11,4,3};
array[array[0]/2]=15;
array[array[4]-4]=9;
array[array.length/2-1]=5;
array[1]=array[0]+4;
System.out.println(array[0]);
7
11
5
Which of the following correctly fill /* blank */ in method isIt() ?
//method isIt should return true if all of the numbers
//in array are in increasing ( ascending ) order
public static boolean isIt(int[] array)
{
for(int spot=0; spot<array.length-1; spot++)
{
/* blank */
return false;
}
return true;
}
if( spot > spot+1)
if( array[spot] > array[spot+1] )
if( array[spot] < array[spot+1] )
1
3
2
0
4
Consider the following instance variable and incomplete method.
The method getBiggest should return the largest value in tRay.

private int[] tRay; //assume the tRay contains values
public int getBiggest()
{
int big = Integer.MIN_VALUE;

/* blank */

return big;
}

Which of the following code segments shown below could be used to replace
/* blank */ so that getBiggest will work as intended?

I. for( int i=0; i<tRay.length; i++ )
if( tRay[i] > big )
big = tRay[i];

II. for( int item : tRay )
if( tRay[item] > big )
big = tRay[item];

III. for( int item : tRay )
if( item > big )
big = item;
II only
I and II only
I and III only
What is output by the code below?
int[] array = {7,8,10,11,4,3};
array[array[0]/2]=15;
array[array[4]+1]=9;
array[array.length/2-1]=5;
array[1]=array[0]+4;
out.println(array[5]);
7
9
5
What is output by the code below?
String s = "apluscompsci.com";
String words[] = new String[ s.length() ];
for (int b = s.length()-1; b>=0 ;b--)
words[b] = s.substring(b);
Arrays.sort(words);
System.out.println(words[2].length());
6
7
5
What is output by the code below?
String[] ray = "10 22 5 33 11 4 222".split(" ");
Arrays.sort( ray );
int x = Integer.parseInt( ray[0] );
int r = Integer.parseInt( ray[1] );
x += r;
System.out.println( x );
9
33
21
1
2
3
null
0
Consider the following class definitions below to determine the output of the provided code segments.
public class Cat
{
private String name;
private int age;
public Cat( String n, int a )
//implementation not shown
public String getName()
//implementation not shown
public int getAge()
//implementation not shown

//other methods not shown
}
//client code in another class
Cat[] bunch = new Cat[5];
bunch[4] = new Cat("wile", 5);
System.out.println( bunch[4].getAge() );
15
6
null
What is output by the code below?

String[] ray;
ray = new String[5];
ray[1] = "one";
ray[2] = "two";
ray[3] = "three";
ray[0] = ray[2];
ray[2] = null;
System.out.println( ray[4].length() );
2
There is no output due to a runtime exception.
1
Consider the following class definitions.
public class Cat
{
private String name;
private int age;

public String getName()
//implementation not shown
public int getAge()
//implementation not shown

//constructors and other methods not shown
}
public class CatBarn
{
private Cat[] kitties; //assume kitties has stuff in it

//returns the average age of all of the kitties
public double averageAge( ){
/* blank */
}
//constructors and other methods not shown
}
Which of the following code segments shown below could be used to replace
/* blank */ so that method averageAge() will work as intended?
I.
int cnt = 0;
double sum = 0;
for( Cat c : kitties )
{
sum += c.getAge();
cnt = cnt + 1;
}
return sum / cnt;

II.
int cnt = 0;
double sum = 0;
for( Cat c : kitties )
{
sum = sum + c;
cnt += 1;
}
return sum / cnt;

III.
double sum = 0;
for( int i = 0; i < kitties.length; i++ )
sum += kitties[i].getAge();
return sum / kitties.length;
I only
I and II only
II only
Consider the following instance variable and incomplete method.
The method getBiggies should return a new ArrayList
that contains all values in list that are larger than val.

private List<Double> list; //assume list contains values

public List<Double> getBiggies( double val)
{
ArrayList<Double> bigs = new ArrayList<Double>();

/* blank */

return bigs;
}

Which of the following code segments shown below could be used to replace
/* blank */ so that getBiggies will work as intended?

I. for ( int i = 0; i < list.size(); i++)
if( list.get(i) > val )
bigs.add(i);
II. for ( int i = 0; i < list.size(); i++)
if( list.get(i) > val )
bigs.add(val);
III. for ( int i = 0; i < list.size(); i++)
if( list.get(i) > val )
bigs.add(list.get(i));
IV. for ( double item : list )
if( item > val )
bigs.add(item);
III only
I only
III and IV only
What is output by the code below?
Double[] ray = {3.1,5.2,6.3,1.4};
for( double r : ray )
r = 0;
System.out.println( ray[2] );
3.1
6.3
1.4
Consider the code below.

<blank>[] ray = {12,55,-988,9.6,0};
for( <blank> dog : ray )
System.out.println( dog );
Which of the following could fill <blank> ?
A. int
C. double
D. Double
stop
shut it down
Consider the following method.
public static int myst(int i)
{
if(i<=0)
return 0;
if(i<=3)
return i;
return myst(i-2)+myst(i-1);
}
What is returned by the call myst(5)?
3
What is returned by the call ben(51) ?
public static String ben(int x)
{
if( x / 5 <= 0 )
return "" + x % 5;
else
return "" + ( x % 5 ) + ben( x / 5 );
}
201
Consider the following method.
public static int alice(int m, int n)
{
if(m < 3)
return n;
return alice(n-2, m-1);
}
What value does of alice(11, 12) return?
7
What is returned the call fun(6) ?
public static int fun(int x)
{
if(x < 1)
return 1;
else
return x + fun(x - 1);
}
16
What is returned by the call fun(8) ?
public static int fun(int x)
{
if(x < 1)
return 1;
else
return x + fun(x - 1);
}
37
26
21
17
31
13
13
21
26
17
31
What is returned by the call fun(1) ?
public static int fun(int x)
{
if(x < 1)
return 1;
else
return x - fun(x - 3);
}
8
What is returned by the call fun(10) ?
public static int fun(int x)
{
if (x < 1)
return x;
else
return x + fun(x - 2);
}
8
11
18
17
16
15
17
16
18
11
15
What is returned by the call wacky(2,6) ?
public static int wacky(int x, int y)
{
if(x <= 1)
return y;
else
return wacky(x - 1,y - 1) + y;
}
18
What is returned by the call funny(0) ?
public static int funny(int x)
{
if(x<1)
return 1;
else
return x + funny(x - 1) - funny(x - 2);
}
2
What is returned by the call go(2,6) ?
public static int go(int x, int y)
{
if(x <= 1)
return y;
else
return go(x - 1,y) + y;
}
8
What is returned by the call go(4,2) ?
public static int go(int x, int y)
{
if(x <= 1)
return y;
else
return go(x - 1,y) + y;
}
11
What is returned by the call fly(2) ?
public static int fly(int x)
{
if(x < 1)
return 1;
else
return x + fly(x - 3) - fly(x - 2);
}
8
What is returned by the call go(7,3)?
public static int go(int x, int y)
{
if(x <= 1)
return y;
else
return go(x - 1,y) + y;
}
14
Which of the following answer choices best describes the algorithmic purpose of method ben?
public static int ben(int[] ray, int i, int x)
{
if( i >= ray.length )
return 0;
if( ray[i] == x )
return 1 + ben( ray, i+1, x );
return 0 + ben( ray, i+1, x );
}
The method is counting the number of numbers in ray.
The method is counting the number of even numbers in ray.
Which of the following answer choices best describes the algorithmic purpose of method ben?
public static int ben(int[] ray, int i)
{
if( i >= ray.length )
return 0;
if( ray[i] % 2 == 0 )
return 1 + ben( ray, i+1 );
return 0 + ben( ray, i+1 );
}
The method is counting the number of odd numbers in ray.
The method is counting the number of occurrences of x in ray.
insertion sort
quick sort
O(N)
O(1)
O(N * log2N)
O(Log2N)
O(N*N)
Insertion Sort
Quick Sort
Insertion Sort
Quick Sort
Insertion Sort
Quick Sort
O(1)
O(N2)
Insertion Sort
Quick Sort
Insertion Sort
Quick Sort
O(N * log2N)
O(1)
O(N*N)
O(1)
O(N*N)
O(1)
O(N*N)
O(1)
O(N*N)
Which of the following would correctly fill < blank 1 > ?
public static void sortOne( Comparable[] list )
{
for(int i=0; i<list.length-1; i++)
{
int min = i;
for(int j=i+1; j<list.length; j++)
{
if(list[j]. < blank 1 > (list[min])<0)
min = j;
}
if( min != i)
{
Comparable temp = list[min];
list[min] = list[i];
list[i] = temp;
}
}
}
Object
Assuming <blank 1> is filled correctly, what sort is sortOne()?
public static void sortOne( Comparable[] list )
{
for(int i=0; i<list.length-1; i++)
{
int min = i;
for(int j=i+1; j<list.length; j++)
{
if(list[j]. < blank 1 > (list[min])<0)
min = j;
}
if( min != i)
{
Comparable temp = list[min];
list[min] = list[i];
list[i] = temp;
}
}
}
merge sort