This exam is cumulative and will cover the all the material from Units 1-8.
You should have a solid understanding of the meaning and uses of the following concepts
You should know the following techniques and be able to apply them:
You should be very familiar the following algorithms, including their analysis and how to apply them:
Sorted Array Search Problem
Sorting problem, using comparisons
RSA
Integer multiplication
Recursive, memoized, and dynamic programming algorithms for matrix chain multiplication
Selection Problem
Sorting problem, not using comparisons
All-pairs shortest paths problem
Transitive closure problem
Minimum Spanning Tree (MST) problem (review!)
Traveling Salesman Problem
Self-organizing search
You should also be familiar with what these algorithms do, and how much they cost, although you don't need to remember every detail: