CS 3100
Fall 2008
Study Guide

As part of your review process, I recommend you study:
• Notes from class
• Lab assignments
• Look over exercises at the end of the chapter in the book.

Chapter Nine: Algorithm Efficiency and Sorting
• Understand the role of operation counts in measuring the work done by an algorithm.

• Know the definition of the order of an algorithm (the big-O of the algorithm).

• Understand the importance of big-O analysis as a comparative measure of growth-rate functions of algorithms. Understand the way that common big-O rates are ordered: O(1) < O(logN) < O(N) < O(NlogN) < O(N^2) < O(N^3) < O(2^N). (Here we use the notation b^c to denote "b raised to the power c.")

• Know properties of growth rate functions such as O(5*N^2) + O(N) = O(N^2)

• Know the following sorting algorithms and be able to discuss their orders appropriately: Selection Sort, Bubble Sort, Insertion Sort, Mergesort, Quicksort, and Radixsort.

• Be able to discuss the improvements to quicksort discussed in the text and in lectures.