In your program, I wanted to see that you could dynamically allocate space, read input from a file, use the given timers properly, and implement the algorithms correctly. A timer should be start right before a search begin, and check the timer right after the search ends. I also wanted to see code that was easy to read - well-commented and clear.

In the writeup, I wanted to see that you had correct expectations for the asymptotic running times of the algorithms you chose. You should get a sufficient number of data points, plot the data to show the trend in the behavior of each search, and show the relationship between different searches. Then you should explain whether the data agree with your expectations, what are the secondary effects, and what caused the secondary effects. For recursive and linear implementations of the same big-O algorithms, recursive implementation is slower than the linear one. This is mainly due to the extra cost of all the function calls in the recursive implementation.