CISC 320 Algorithms and Advanced Programming

Final Exam review info, Fall, 2007

  • Mon, Dec 10, 10:30am to 12:30pm Final exam. Exam will cover all of the course, but with more emphasis on the second half (2/3 to 3/4 of the questions).
  • RSA: the idea that public key cryptosystem can be made from problems in NP. The symmetry between public and private keys (hence use for both hiding and revealing info from source (encryption and signing/authenticating). That RSA is based on the difficulty of large integer factorization.

    chapters 8, 9(up to section 3)
    Definitions of problem class P, class NP, and class NP-complete, class P-Space.


    How to prove a problem is in NP. How to prove a problem is NP-complete
    Familiaritity with some NP-complete problems
    Circuit SAT, SAT (CNF), 3 SAT, Independent-Set, Vertex-Cover, Set-Cover3, Hamiltonian-Cycle, TSP (Traveling Salesman Problem).

    Chapters 4, 5, 6, Greedy methods, Divide and Conquer, Dynamic Programming.

  • Greedy: Interval scheduling, optimal caching, minimal spanning tree (Kruskal, Prim), single source shortest path (Dijkstra).
  • Divide and Conquer: Karatsuba's O(n1.59) integer and polynomial multiplication algorithm, Strassen's O(n2.81) matrix multiplication algorithm. FFT (Fast Fourier Transform) yields O(n log(n)) polynomial multiplication, Closest pair of points. Quicksort (Ch 13), Mergesort
  • Solving recurrence T(n) <= aT(n/2) + cnd, for a < d, a = d, a > d,
  • Dynamic Programming (memoization): weighted interval scheduling, segmented least squares, RNA secondary structure.

    Dynamic Data Structures Dynamic Sets - Union/Find - amortized cost O(n lg*(n))
    Priority Queues - min or max heap - insert and extract max in O(lg(n))

    Sorting, Selection, Max and Min.

    Kinds of questions: As in the midterm, a mix of multiple choice, short answer, short essay, algorithm to read and analyze, algorithm to write.

    Questions based on the homeworks can be expected.

    Questions from or close to the midterm can be expected.