Analysis of Algorithms
For this task, each student should do two things: An empirical analysis of the runtime and comparisons made for all algorithms as a function of input size, and a theoretical analysis of the ?ve algorithms implemented.
A total of (3/6) marks allocated for this task will be for the empirical analysis of the ?ve algorithms implemented. You should have a total of two graphs, one showing time (in milliseconds) versus input size, and a second graph showing total comparisons versus input size. You should explain what the experimental results show, and substantiate them using your theoretical analysis of the algorithms. A total of (3/6) marks allocated for this task will be for the theoretical analysis of the ?ve algorithms implemented. Speci?cally, everyone should do a "big-O" worst- case analysis for each of the algorithms (using a recursive or non-recursive solution) outlined in this speci?cation. It is not suf?cient to just say Algorithm X has a complexity of O(n). You must formally show how you arrived at the solution.