Programming Assignment 3


Due: Mar. 31 by 5pm


Description

Assignment 3 focuses on implementation and analysis of sorting algorithms. You are to implement bubble sort, a slow sorting algorithm, and a fast sorting algorithm, and deeply analyze their complexities and trade-offs. You will make a report of your findings.

Program Requirements

Report Requirements

Your report will include the objective of the assignment, brief description of your implementation, and a discussion of your results (theoretical and experimental). At a minimum your report should include the following organized into sections. Use a technical writing style and typeset your report in LaTeX. In this report, you are to design your own experiment to analyze big-oh complexity of your sorting algorithms.

Bonus

Each extra sorting algorithm you implement and compare with in your report will earn you bonus points. 2 points per extra algorithm implementation and 3 points for each extra analysis. So in total you can earn 20 more points. (The other one of insertion/selection, the other two of heap/merge/quick, and radix sort). You may also earn an extra five points for designing one more type of comparison that explores the effect of data size being sorted. As in, some sorts utilize the cache more effectively, so if you bring the size of a single element of the array to be much larger, this breaks the efficiency gains of the sort.


General Instructions, Turning in assignments, and Grading

General Instructions

Turn in Instructions

Each assignment will be turned in to both Blackboard (soft copy) and in class (hard copy). Assignments are due BEFORE, let me repeat, before class starts. This does not mean five minutes after class starts.

Points