Floyd's
Tortoise
Hare
100

What is a recursive function called when it's recursive case has only one call to itself?

Linear

100

ArrayList<String> list = new ArrayList<>();
if (list.add("a")) {
    System.out.println("ewvrtibgyb");
} else {
    System.out.println("srigovbgr"); }
if (list.add(5)) {
    System.out.println("sfdciuybgg");
} else {
    System.out.println("fiubgfy"); }

What is the output of each if statement and why?

ewvrtibgyb because it successfully adds a to the list

Error since Integers can't be added to the list

100

int[] nums = {1, 2, 3};

nums[2] = 10; //Assigns new value

System.out.println(nums,length);

Output?

Syntax Error

200

import java.util.ArrayList

ArrayList<Integer> nums = new ArrayList<>();

nums.add(5);

nums.add(6);

nums.add(7);

nums.add(8);

nums.add(9);

nums.add(10);

nums.add(11);

System.out.println(nums.get(nums.size()-4));

Output?

Missing semicolon on import

200

ArrayList<String> list = new ArrayList<>();

list.add("a");

list.add("b");

list.add("c");

list.add("b");

for (String s : list) {

    if (s.equals("b")) {

        list.remove(s); }}

System.out.println(list);

Output?

ConcurrentModificationException

200

Explain how to write the Fibonacci sequence recursively (give the both the base and recursive case)

Answers will vary

300

int[][] m = {{1,2,3},{4,5}};

for (int i = 0; i <= 1; i++) {

    for (int j = i; j <= 1; j++) {

        m[j][i] += i-2; }}

for (int i = 0; i <= 1; i++) {

    for (int j = i; j <= 1; j++) {

        m[i][j] *= j+100; }}

for (int i = 0; i <= 2; i++) {

    for (int j = i; j <= 1; j++) {

        m[j][j] *= (j*i-j*j-2)+j; }}

System.out.println(m[1][1]);

Output?

The output is: 808

300

public static double recurse(int x) {

    if (x == 0) return 0;

    return recurse(x - 2) + 1;

}

System.out.println(recurse(16));

Output?

The output is: 8.0

300

public static int bSearch(int[] nums, int lo, int hi, int target) {

if (hi >= lo) {

int mid = (lo + hi) / 2;

if (nums[mid] == target) {

return mid; }

if (nums[mid] > target) {

return bSearch(nums, lo, mid - 1, target); }

else {

return bSearch(nums, mid + 1, hi, target);}}

return -1; }

int[] nums = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20}; 

int targetIndex = bSearch(nums, 0, nums.length - 1, 3);

How many times will bSearch() be called?

4 times

M
e
n
u