First implementation, recursion
First implementation, binary search