COS 226 Final Information, Spring 2010


This document is intended to help you use your study time effectively. Please view it as a guide, not a contract.


Final Exam Schedule



Exam Format


Material Covered

We have covered an enormous amount of material this semester, but the exam can only contain basic questions about a small fraction of it. When you study, you should focus on understanding basic issues, not memorizing details. For each algorithm, you should make sure that you understand how it works on typical input and then ask yourself some basic questions: Why do we care about this algorithm? How is it different from other algorithms for the same problem? When is it effective? Knowing the answer to those sorts of questions is the key to doing well on the exam.

The exam is will stress material covered since the midterm, including the following components.

The lecture slides are the primary reference for lectures 12-13 and 21-24; the text is the primary reference for lectures 14-20. Some material before the midterm is also relevant to putting new algorithms in context. For example, you might see a question on sorting/searching that covers both standard and string algorithms.


Partial list of topics covered since the midterm

LSD radix sort MSD radix sort 3-way string quicksort
Depth-first search Breadth-first search MST algorithms (Prim, Kruskal)
Topological sort CPM/Arbitrage Shortest paths (Dijkstra) Negative weights (Bellman-Ford)
Knuth-Morris-Pratt Boyer-Moore Rabin-Karp
RE to NFA R-way tries Ternary search tries
Run-length encoding Huffman coding LZW compression Burrows-Wheeler
Convex hull (Jarvis, Graham) 2D trees Range / nearest neighbor search HV line intersection
Reductions Combinatorial search

Questions that show awareness of advanced topics that were covered in lecture are also fair game. Examples: NP-completeness, satisfiability, independent set.

Exam archive