GT chapter 13 sections 1, 2, 3, and 4.2:
Definitions of problem class P, class NP, and class NP-complete.
GT section 12.5:
Convex hull via gift wrapping and via Graham scan.
O(nh), O(n log(n)).
GT section 9.1:
Substring search. Boyer-Moore and Knuth-Morris-Pratt
GT chapter 10 sections 1, 2, 3, and 4.
Fast Fourier Transform. Do n point transform in O(n log(n)) ops over a field containing n-th roots of unity.
RSA Cryptography and integer algorithms.
RSA script for maple,
and it's output.
Karatsuba divide and conquer multiplication. O(nsqrt(3).
Shoenhage/Strassen FFT based multiplication. O(n log(n) log log (n))
Exponentiation
and inverse mod n.
Compute ae mod n in O(log(e)) steps, for exponent e,
Inverse, use Extended Euclidean Algorithm.
GT chapter 5, sections 2 and 3. General strategies.
Divide and Conquer, Dynamic Programming, (you do not have to prepare vis a vis 5.1 Greedy methods.)
Divide and Conquer: Karatsuba's O(n1.59) integer and polynomial multiplication algorithm
Strassen's O(n2.81) matrix multiplication algorithm.
Dynamic Programming: matrix chains, football scores
Handout: football score
program and memoized
version.
GT section 2.5.
Hash tables.
separate chaining and open addressing
For open addressing: linear probing, double hashing.
Kinds of questions: As in the first midterm, a mix of multiple choice, short answer, short essay, algorithm to read and analyze, algorithm to write.
Homework based questions or similar can be expected, vis a vis hw3, hw4.