Examples of Recursion
Problem : In binary search, we split the data set in half at each recursive call. One could imagine an algorithm that split the data set up into three or four sets at each recursive call. Provide an argument why, in Big-O notation, binary search is as efficient as ternary search or quaternary search.
Problem : Why is linear search better implemented iteratively rather than recursively?
Problem : You have an array of ints sorted in ascending order. Write a function that recursively does a ternary search (splits the data into three sets instead of two) on the array.
Problem : Your boss tells you to write a function to search for a number in an unbounded array (the array starts at index 0 but goes on forever). He tells you to use the standard binary search algorithm. Explain to him why you can't.
Problem : In a last attempt to show how smart he is, your boss tells you to implement linear search recursively as that is much more efficient than an iterative implementation. Explain to him why he is incorrect.