| Syllabus |
Latest Info |
Saunders' homepage |
TA homepage |
CISC homepage |
UDel homepage |
CISC 320 Algorithms and Advanced Programming
Latest Info page, Fall, 2006
Some useful links:
The Standard Template Library.
The STL Documentation at SGI.
Some source code
This page contains a brief summary of each class topic and the
associated reading and homework assignments.
For other course information see 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 Dec 4, 2006.
Wed, Dec 13, 10:30am-12:30pm. Final Exam
Wed, Dec 6.
- finish loose ends
- Fifth homework due Friday, Dec 8 (but submit today if you can)
Mon, Dec 4.
- Approximation heuristic for bin packing
- Reading: BG Section 13.5.1
Fri, Nov 19.
- NP-hardness and NP-completeness
- SAT is NP-hard
- Fifth homework assignment, Due Fri, Dec 8 (shoot for Dec 6):
BG Chapter 13, exercises 13.2, 13.3, 13.17
- Review exercises. BG Chapter 12, exercises 11a and 14. Not to hand in. Answers will be provided Dec 6.
Wed, Nov 27.
- Several polynomial time reductions.
Mon, Nov 25.
- P and NP.
- Some problems in NP that may not be in P
- Reading: BG Chapter 13
Wed, Nov 22.
- Fast polynomial multiplication
- Reading: BG Section 12.4
Mon, Nov 20.
- polynomial arithmetic
- solving linear systems reduces to matrix multiplication
Fri, Nov 17.
- Fast matrix multiplication
- Reading: BG Section 12.3.4
Wed, Nov 15.
- Classical matrix multiplication
- Triangular solve
- Solving linear systems reduces to LU decomposition and triangular solve
Mon, Nov 13.
- Matrix multiplication
- All pairs shortest path
- Transitive closure
- Reading: BG Chapter 9
Fri, Nov 10.
- Union-find for dynamic set partitions.
- Reading: BG Section 6.6
- Fifth homework assignment, Due Fri, Nov 17:
Exercises 7.48, 8.14, 8.19, 8.26
Wed, Nov 8.
- MST algorithms, god is in the details.
Mon, Nov 6.
- using the fringe: Prim's and/or Dijkstra's algorithms.
- Reading: BG Chapter 8
Fri, Nov 3.
- Kruskal's minimal spanning tree algorithm.
- Reading: BG Section 8.4
Wed, Nov 1.
- Depth first search and connected components
- Reading: BG Section 7.5
Mon, Oct 30.
- Breadth first search in graphs
- Reading: BG Section 7.3
Fri, Oct 27.
- Depth first search in graphs
- Fourth homework assignment, Due Fri, Nov 3: Exercises 7.2, 7.3, 7.8.
- Reading: BG Section 7.4
Wed, Oct 25.
- go over midterm
- Graph terminology and representations
- Reading: BG Chapter 7
Mon, Oct 23. Midterm
Fri, Oct 20.
Wed, Oct 18.
- Hash tables, α < 1, repeat probing schemes
- Reading: BG 6.5
Mon, Oct 16.
- Third homework assignment, Due Mon, Oct 23: Exercises 6.19 and 10.6
- Closest pair analysis and the Master theorem
Fri, Oct 13.
- Closest pair of points in a set of x,y-pairs.
- Handout: closest.C
Wed, Oct 11.
- Dynamic programming: optimal binary trees
- Huffman codes
- Reading: BG 10.4
Mon, Oct 9.
- Analysis of (1) dynamic programming and (2) bigger base case on performance of honeycomb walks.
- Reading: BG 10
- Update of second homework, with template for 2,3,4 tree traversal.
Fri, Oct 6.
- Dynamic programming
- Example: honeycomb.C, counting walks on a hexagonal tiling.
- Reading: BG Chapter 10 (esp. sections 2, 4)
Wed, Oct 4.
- Hash tables - α > 1, separate chaining
- Reading: BG 6.5
Mon, Oct 2.
- depth of red black tree is no more than 2lg(n). See
- Netflix contest.
- Dictionary ADT vis a vis balanced ordered binary trees and vis a vis data type details.
- Reading: BG pg 95
Fri, Sept 29.
Wed, Sept 27.
- From (2,3,4) trees to 2,3 trees, to red-black trees, to b-trees.
Mon, Sept 25.
- Balanced tree systems, (2,3,4) trees
Fri, Sept 22.
- finish amortized analysis
- Introduction to STL map<>
- Examples of map use: concordance wordcount
Wed, Sept 20.
Mon, Sept 18.
- Sorting by comparisons, summary of algorithms.
- Lower bounds for sorting by comparisons. (read BG 4.7)
Fri, Sept 15.
- Sort methods review (insertion, quick, randomized quick, mention of merge)
- pictorial proof that T(n) = O(n) + T(n-1) => T(n) in O(n^2).
- pictorial proof that T(n) = O(n) + T(n/2) => T(n) in O(n).
- pictorial proof that T(n) = O(n) + 2*T(n/2) => T(n) in O(n*lg(n)).
- Defs of and distinction between average case analysis and expected case analysis.
Wed, Sept 13.
- Insertion Sort
- Introspective sort
- Reading: BG 4.2
- Handouts on sorting.
Mon, Sept 11.
- quickselect, median
- Reading: BG 4.7
Fri, Sept 8.
Wed, Sept 6.
- Priority Queues, Heaps
- Reading: BG 4.8
- Handout: heapSort.h
Fri, Sept 1.
- Max&Min lower bound argument
- Correctness proofs
- The Standard Template Library container, Map, a powerful data structure template.
- Reading: BG 3.5 and scan the rest of chapter 3.
Wed, Aug 30, 9:05am. First Class.
Introduction to order statistics: Max, Max&Min, 2nd-largest.
- Course organization
- Reading assignment: BG 5.1, 5.2, 5.3, and scan chapter 1.
- Handout: syllabus.
- Advance notice: exercise 5.4 will be on the first homework.