| Syllabus (including office hours) |
Latest Info |
Saunders' homepage |
CISC homepage |
UDel homepage |
Latest Info page, CISC 320 Algorithms, Spring, 2010
Some useful links:
The Standard Template Library.
The STL Documentation at SGI.
This page contains a brief summary of each class topic and the
associated reading.
This page morphs frequently, being updated at least weekly.
You may need to reload it at each viewing
to avoid being shown a stale version from your browser cache.
Most recent items are at the top.
Last updated May 17, 2010.
Future: Brief predictions of class topics to be covered.
Fri, May 21 Final Exam ---
10:30am to 12:30pm in 328 Purnell (our classroom)
From the syllabus: "The final exam will be 1/4 on the first half and 3/4 devoted to the second half. The exams are closed book and closed note."
Past: Brief summaries of class topics covered in reverse chronological order.
Mon, May 17
Fri, May 14 Chapter 8
- minimum distance between points in the plane
- Provably undecidable problems
Wed, May 12
- NP-complete problems
- Cook's theorem (reduction of NP to circuit-SAT).
Mon, May 10 Chapter 8
- Many, many reductions amongst hard problems
- Extra credit homework: hw6-ex.pdf, due Monday, May 17.
Fri, May 7 Chapter 8
- The problem class P.
- Reductions of one hard problem to another.
- SAT, 3-SAT, and Circuit SAT.
- Homework assignment: hw5.pdf, due Thursday, May 13.
Wed, May 5 Chapter 6.6
- Finish all pairs shortest paths
- ...compare to Gaussian elimination for solving linear systems, and
- Warshall's algorithm for transitive closure.
Mon, May 3 Chapter 8
- Traveling Salesman variants
- Hamiltonian (Rudrata) path and cycle problems
- All pairs shortest paths
Fri, Apr 30 Chapter 6.5, 6.6
- chain matrix multiplication in O(n^{3}).
- Traveling Salesman in O(n^{2}2^{n}).
- further considerations on the cost analysis of dynamic programming solutions
Wed, Apr 28 Chapter 6.4
- Implementing memoization
- Knapsack in O(nW)
- hw4 due tomorrow at 3:30.
Mon, Apr 26 Chapter 6.3
- Edit Distance and bioinformatics
Fri, Apr 23 Chapter 6.1, 6.2
- Longest increasing subsequences
- Use of memoization in Maple
Wed, Apr 21 Chapter 5.2
- Data Compression: Huffman codes
- Note: no homework is due this week (see note of Apr 16)
- Homework assignment: hw4.pdf, due Thursday, April 29.
Mon, Apr 19 Chapter 5.1
- union-find (5.1.4): costs O(log(n)) per op with union by weight,
- and costs amortized O(log*(n)) per op with also path compression.
- handout: union-find.cc
Fri, Apr 16 Chapter 5.1
- Cut property (5.1.2)
- finish MST: Prim's algorithm, PrimMST.h
- Change in plan: Homework 4 will be due Thursday, April 22. It will include exercises 5.2 and 5.3 among others.
Wed, Apr 14 Chapter 5.1
- minimal spanning trees: Prim's algorithm (5.1.5)
- Homework 3 due (but accepted without penalty until end of TA office hours Thursday).
Mon, Apr 12 Chapter 4.5, 5.1,
- finish with d-ary heaps (4.5.3)
- minimal spanning trees: Kruskal's algorithm (5.1.3)
Fri, Apr 9 Chapter 4.8
Wed, Apr 7 Chapter 4
Mon, Apr 5 Chapter 4.5, 4.6, 4.8
- midterm returned, reviewed
- priority queues: heaps,
Fri, Mar 26 Midterm exam
Wed, Mar 24 Chapter 4.5
- Go over HW2, review for exam
Mon, Mar 22 Chapter 4.4
Fri, Mar 19 Finish Chapter 3
- Directed acyclic Graphs
- strongly connected components
Wed, Mar 17 Reading: DPV Chapter 4.1 through 4.4
- tree, forward, back, cross edges vis a vis depth first search
- Review of FFT
Mon, Mar 15 Reading: DPV Chapter 3.3, 3.4
- Brief follow up on roots of unity
- Directed graphs, DFS
Fri, Mar 12 Reading: DPV Chapter 2.6
- FFT continued: roots of unity, inverse FFT.
- hw1 returned.
Wed, Mar 10
Reading: DPV Chapter 2.6
- Polynomial Multiplication via evaluation and interpolation
- Fast Fourier Transform
- Homework assignment: hw2.pdf, due Wednesday, March 17.
Mon, Mar 8
Reading: DPV Chapter 3.1, 3.2
Fri, Mar 5
Reading: DPV Chapter 2.5
- Strassen's Matrix Multiplication algorithm
Wed, Mar 3
Reading:DPV Chapter 2.4 2.5
- merge sort
- Matrix Multiplication
Mon, Mar 1
Reading: DPV Chapter 2.3
Fri, Feb 26
Reading: DPV Chapter 2.1, 2.2, 2.3
- The divide and conquer strategy
- The key analysis tool: master theorem.
- Examples: faster integer multiplication, merge sort
- Handout on addition chains
Wed, Feb 24
Reading: DPV Chapter 1.2, 1.3, 2.1
- tools used in RSA: modexp, primality, faster multiply
- Homework assignment: hw1.pdf, due Wednesday, March 3.(typos fixed Mar2)
Mon, Feb 22
Reading: DPV Chapter 1.4
- Public key encryption
- RSA encryption system
Fri, Feb 19
Reading: DPV Chapter 1.2
- Extended Euclidean Algorithm
Wed, Feb 17
Reading: DPV Chapter 0, 1.2
- Approximating functions: "f(n) is about g(n)", "f is roughly proportional to g", "f is Theta of g".
- Notion of "leading term".
- Modular arithmetic: "What is the units digit of <expression> in base N?"
- Modular inversion and extended gcd computation.
Mon, Feb 15
Reading: DPV Chapter 1.1
- Multiplication and division of nonnegative integers.
Fri, Feb 12
Reading: order-relations
- Max and min and second best: introduction to order statistics.
- number of comparisons needed: max, n-1; max and min, ceil(3n/2 -2); 2nd largest, n + lg(n).
- Supplemental material (code): order-statistics/.
Wed, Feb 10
Class cancelled due to winter storm 2
Mon, Feb 8
Class cancelled due to winter storm 1
saunders@udel.edu