Algorithm Analysis

Write a blog post analysing the efficiency and correctness of an algorithm. • Analyse either the out-of-place selection sort algorithm, or the out-of-place insertion sort algorithm. ◦ Briefly explain the problem of sorting out-of-place, and how the algorithm works. ◦ Show code for the algorithm – this is the solution to Q2 or Q3 from the Week 9 exercises. ◦ Analyse the efficiency – see the previous page. For more marks, don’t just consider random lists; what about lists that are in order, or completely out of order? ◦ Analyse the correctness – see the previous page. ▪ Identify any necessary loop invariant(s). ▪ How does the invariant(s) guarantee that the output list will be in order? ▪ What is the loop variant? ◦ Compare either with the in-place version of the same algorithm, or an alternative out-ofplace sorting algorithm.      

Sample Solution