CISC 320 Algorithms and Advanced Programming

Final Exam review info, Fall, 2002

  • Wed, Dec 18, 1:00pm to 3:00pm Final exam Final exam will cover the last 2/3rds of the course material.
  • GT chapter 13 sections 1, 2, 3, and 4.2:
    Definitions of problem class P, class NP, and class NP-complete.


    How to prove a problem is in NP. How to prove a problem is NP-complete
    Familiaritity with some NP-complete problems
    Circuit SAT, CNF SAT, 3 SAT, Vertex-Cover, Set-Cover, Subset-Sum, Knapsack, Hamiltonian-Cycle, TSP (Traveling Salesman Problem).
    Approximation for vertex cover.

    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.