| 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 syllabus. 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.

Future:

Wed, Dec 13, 10:30am-12:30pm. Final Exam

Wed, Dec 6.

• finish loose ends
• review
• Fifth homework due Friday, Dec 8 (but submit today if you can)

Past:

Mon, Dec 4.

• Approximation heuristic for bin packing

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

Wed, Nov 22.

• Fast polynomial multiplication

Mon, Nov 20.

• polynomial arithmetic
• solving linear systems reduces to matrix multiplication

Fri, Nov 17.

• Fast matrix multiplication

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

Fri, Nov 10.

• Union-find for dynamic set partitions.
• 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.

Fri, Nov 3.

• Kruskal's minimal spanning tree algorithm.

Wed, Nov 1.

• Depth first search and connected components

Mon, Oct 30.

• Breadth first search in graphs

Fri, Oct 27.

• Depth first search in graphs
• Fourth homework assignment, Due Fri, Nov 3: Exercises 7.2, 7.3, 7.8.

Wed, Oct 25.

• go over midterm
• Graph terminology and representations

Mon, Oct 23. Midterm

Fri, Oct 20.

• review

Wed, Oct 18.

• Hash tables, α < 1, repeat probing schemes

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

Mon, Oct 9.

• Analysis of (1) dynamic programming and (2) bigger base case on performance of honeycomb walks.
• 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

Mon, Oct 2.

• depth of red black tree is no more than 2lg(n). See redblack/rbdepth.html.
• Netflix contest.
• Dictionary ADT vis a vis balanced ordered binary trees and vis a vis data type details.

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
• Handouts on sorting.

Mon, Sept 11.

• Quicksort
• quickselect, median

Fri, Sept 8.

Wed, Sept 6.

• Priority Queues, Heaps
• 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.