| Syllabus (including office hours) |
Groups, homework, and grading|
Saunders' homepage |
CISC homepage |
Lectures synopsis, CISC 621 Algorithms, Fall, 2015
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 Dec 10, 2015.
Future: Brief predictions of class topics to be covered.
Thu, Dec 17 Final Exam, 8-10am in 103 Gore Hall
Fri, Dec 11 hw5 due
Past: Brief summaries of class topics covered in reverse chronological order.
Thu, Dec 10
- Bipartite matching, section (26.3)
- Halting problem
- Linear algebra linear time reductions: matrix mult vs triangular solve.
- Linear algebra in parallel complexity class NP.
- Course review. final review sheet.
Tue, Dec 8
-
Convex hull: Graham scan and Jarvis march (package wrapping), section (33.3)
-
Network flow: Ford-Fulkerson algorithm, max-flow min-cut theorem (26.2)
Thu, Dec 3
- NP-Completeness proofs (CH 34).
- (Finish a cycle) CLIQUE -> VERTEX-COVER -> HAM-CYCLE -> TSP -> Circuit-SAT
Tue, Dec 1
- NP, NP completeness, Cook's Theorem (34.7), NP -> Circuit-SAT
-
3-SAT -> SubsetSum -> Partition
-
hw5.pdf assignment
satisfiability and related problems
Thu, Nov 19
-
Decision problems, languages, and Poly time reductions
-
(Begin a cycle) Circuit-SAT -> SAT -> 3SAT -> CLIQUE
-
Reading: Chapter 34
Tue, Nov 17
-
Boolean satisfiability: Problems Circuit-SAT, SAT, 3SAT
Thu, Nov 12
- Short vectors in lattices (Guest Lecturer Andy Novocin)
Wed, Nov 11 hw4 due
Tue, Nov 10
- All pairs shortest paths in graphs (Ch 25)
- FFT polynomial and integer multiplication (Ch 30)
Thu, Nov 5
- More Dynamic Programming examples
- Fast arithmetic (Ch 30)
Tue, Nov 3
- Dynamic Programming continued.
-
Applications of depth first search:
Topological Sort, Strongly connected components (Ch 22)
Thu, Oct 29
-
Dynamic Programming, Reading: Chapter 15,
ppt slides are available at Sakai resources (Chunbo Song).
- Homework
assignment, due Wed, Nov 11:
hw4.pdf
Wed, Oct 28 hw3 due
Tue, Oct 27
Thu, Oct 22
- finish Union-Find
- Prim's MST algorithm.(Ch 23)
- Breadth and Depth first search (Ch 22)
Tue, Oct 20
- correctness of Kruskal's algorithm
- analysis of Union-Find (ch 21.4)
-
Exam review sheet,
(the midterm exam is moved to Oct 27)
- Corrected homework problem 8, hw3c.pdf
Thu, Oct 15
- Graph notation, representation, paths, spanning trees, digraphs, weighted graphs. (Ch 22, 23.1)
- TSP and MST: TSP <= 2MST
- Kruskal's alg for MST (Ch 23.2) and isolation of the Union-Find data structure.
- Homework assignment due Oct 28: hw3.pdf
Wed, Oct 14 hw2 due
Tue, Oct 13
- Dynamic Sets, CLRS Chapter 21
- Additional remarks about hash functions
- Application to string matching, the Rabin-Karp algorithm (CLRS Section 32.2)
- graph representation
Thu, Oct 8
- Deletion in RBT, analysis
- Binomial Heaps, reference: CLRS Problem 19.2
Tue, Oct 6
- Binary Search trees
- Red-Black trees, Sedgewick notes
- Reading: Chapters, 12, 13
- Homework assignment due Oct 14: hw2.pdf
Thu, Oct 1
- Sorting review, geometric series review
- Hash functions: quick, uniform, random
- Direct addressing: linear, quadratic and double hash probing for collision resolution.
Wed, Sep 30 hw1 due
Tue, Sep 29
- Dynamic arrays, Reading 17.4
- Hash Tables, Reading: Chapter 11
- practice quiz
Thu, Sep 24
- Dynamic data structures
- The rudiments: linked lists and dynamic arrays
- Some basic linear structures: Stacks, Queues, Deques, Heaps, Hash tables
- SoA vs AoS
- Reading: Chapter 10
Tue, Sep 22
- Quicksort
- Analyzing quicksort: indicator random variables and expectation, Reference: section 5.2
- Putting it all together: IntrospectiveSort
- Implementations and measurements: sorting dir.
- Reading: Chapter 7, wikipedia.org/wiki/Introsort
Thu, Sep 17
- Priority queues
- HeapSort
- Consider the base case: Combine mergesort and insertion sort
- Reading: Chapter 6
Tue, Sep 15
- The recursion tree method for recursions. Reading: Section 4.4
- A return to order statistics, median. Reading: Section 9.3
- Lower bound for sorting by comparison. Reading: Section 8.1
- Homework assignment due Sept 30: hw1.pdf
Thu, Sep 10
- block decomposition of matrices
- Strassen's algorithm for matrix multiplication.
- more on substitution method for solution of recurrences
- Reading: Chapter 4
Tue, Sep 8
- logarithm basics
- Θ big O, Ω
- Master Theorem
- Reading: Chapter 4
Thu, Sep 3
- review of class questionaire
- Introduction to divide and conquer strategies
- Karatsuba's algorithm for polynomial and integer multiplication
- Reading: Chapter 4
- Conventions, notation, some commonly ocurring math --- Scan chapters 1,2,3.
Tue, Sep 1
- Introductory discussion on order statistics
- max or min of array of length n in n-1 comparisons.
- max and min
- First alg: in 2n-2 comparisons, worst case
- Second alg: in about 3n/2 comparisons, worst case.
- Comments: (1) first alg may be better on average or when comparison is cheap and data movement relatively expensive. (2) We proved the second algorithm has the best possible worst case number of comparisons.
- Reading: Sections 9.1 and 9.2.
- Course overview and pragmatics, a questionaire.
saunders@udel.edu