| 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
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(n3).
- Traveling Salesman in O(n22n).
- 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
- 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