New Stuff:
All pairs shortest path
B+ trees - General info
Boyer-Moore String pattern recognition - How it works/Simple character
jumps/Suffix jumps
Genetic Algorithms - how they work, components (i.e., fitness function, populations, breeding, mutation, ...)
Huffman Codes
P/NP - What is P? What is NP?
Showing a problem is in NP
Showing a problem is NP complete (simple cases where we recognize similar problems)
Common NP complete problems:
Hamiltonian Circuit/Path, Traveling Salesman, CNFSAT,
3CNFSAT, Vertex Cover, Partition, Clique Decision Problem, Independent Set, Sum of
Subsets, Parallel processor job allocation problem, 0/1 Knapsack.
Old Stuff not covered completely on the midterm:
Analysis of run time
General distinctions between various algorithmic methods (Greedy/Divide
and Conquer/Dynamic Programming/Backtracking)
Union/Find algorithm
Final will be at least 60% stuff since last midterm but ... as
usual, even later stuff will often use things from earlier in the
course. For example, an analysis of later stuff will use analysis
methods from earlier.
Of course it will be open book/open notes/ ... with no calculators
or computers allowed.