| Syllabus (including office hours) |
Groups, homework, and grading|
Saunders' homepage |
CISC homepage |
Lectures synopsis, CISC 621 Algorithms, Spring, 2016
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, 2016.
Future: Brief predictions of class topics to be covered.
Tue, May 24 Final Exam, 8am, 104 Gore Hall
Past: Brief summaries of class topics covered in reverse chronological order.
Thu, May 19, 8am, in room 102A Smith Hall
Review session (questions and answers — no new presented information)
hwV due (accepted up to 5pm Fri, May 20 -- find Fanchou Meng for submission)
review outline
hwV solutions
Tue, May 17
- Linear time reductions and Matrix problem equivalences
- Linear algebra in a parallel model, the class NC.
- Parallel computation: the parallel prefix kernel. Blelloch reference.
Thu, May 12
- Warmup: Bipartite Cliques and Bipartite Matchings
- Network flows. Reading: Chapter 26
- 3-SAT reduces to Subset-Sum.
- hwIV solution sketches
Tue, May 10
-
Polynomial time reductions and NP problems.
- Circuit SAT reduces to (formula-)SAT,
- 3-SAT reduces to Clique,
- Subset-Sum reduces to Partition
- recipe for showing a decision problem is in NPC.
- homework assignment V (hw problems 14,15,16,17), due 4am, May 19.
Thu, May 5
- Dijkstra's single source shortest path algorithm, Reading: Chapter 24.3
- P and NP, Reading: Chapter 34, Sections 3,4.
- NP Completeness: Cook's theorem (34.7)
Tue, May 3
- Further applications of DFS, Topological Sort.
- The halting problem. c program
- P and NP, Reading: Chapter 34, Sections 1,2.
- HWIV due by 8am, beginning of class
Thu, Apr 28
- Minimal Spanning Trees, Reading: Chapter 23
- Prim's algorithm
- Kruskal's algorithm
Tue, Apr 26
- Graph Algorithms, Reading: Chapter 22
- Graph representation,
- Breadth first search,
- depth first search
Thu, Apr 21
- Dynamic Programming, continued
- LCS: Longest common subsequence
- LIS: Longest increasing subsequence
- Matrix chain product
- homework assignment IV (hw problems 10,11,12,13), due 8am, May 3.
Tue, Apr 19
- HWIII accepted (with minor penalty) until 8am.
- Dynamic Programming
- Reading: Chapter 15
Thu, Apr 14
- HWIII due by 7pm to TA (in 201 Smith Hall)
- Chinese remainder theorem
- Reading: Chapter 30
- Fast polynomial and integer arithmetic via FFT
- 3-primes FFT, Johnson's slides
Tue, Apr 12
- RSA continued
- Extended Euclidean algorithm
- digital signatures
- Blockchain (Bitcoin) is application of hashing and PKE
- Nakamoto bitcoin article.
Thu, Apr 7
- Universal hashing
- Reading: Chapter 31.7
- RSA public key encryption
- Key construction
- Encryption and decryption using public and private keys
- Modular exponentiation
Tue, Apr 5
- Reading: Chapter 11
- Hash tables, separate chaining, linear probing.
- Simple uniform hash functions
- Midterm return. Answer key.
Tue, Mar 29,31 spring break
Thu, Mar 24
- Midterm exam
- HWIII assignment will be given (due April 14) .
- homework assignment III (hw problems 7,8,9), due April 14.
Tue, Mar 22
Thu, Mar 17
- HWII due by 7pm to TA (in 201 Smith Hall)
- Analyze union/find.
- Reading: Chapter 12
- Binary search trees, bst notes.
Tue, Mar 15
- Reading: Section 17.2 and 17.4
- Amortized analysis and dynamic arrays (dynamic tables).
- Algorithm sketch: Kruskal's MST
- Reading: Chapter 21 Disjoint Sets
- union/find, Dynamic partition operations
Thu, Mar 10
- Binomial Heaps, reference binomialheap.h.
- Union operation,
- worst case cost of mergable heap operations
- Amortized cost of operation sequence.
Tue, Mar 8
- Mergable priority queues (also called meldable heaps)
- Reading: NOT Chapter 19 (the chapter on binomial heaps is removed in 3rd edition!)
- Reading: binomialheap.h
- Also the wikipedia article on binomial heaps is somewhat helpful.
- Group first meeting
Thu, Mar 3
- Reading: Chapter 10: Linked lists and basic data structures.
- homework assignment II (hw problems 4,5,6, due March 17).
- No Saunders office hour today due to travel.
Tue, Mar 1
- HWI due 8am in class (counted as late after 8:01am)
- Analysis of Randomized QuickSort.
- Comparison based sorting is in Ω(nlog(n)).
- brief quiz on chapters 1-9 (not counted in grading)
Thu, Feb 25
- Reading: Chapter 6: priority queues and HeapSort
- Putting things together: IntrospectiveSort
- sorting: timings of insertionSort, mergeSort, quickSort, heapSort, introspectiveSort.
- HWI due by 7pm to TA (in 201 Smith Hall) [now extended to Tuesday at 8am in class]
Tue, Feb 23
- MergeSort and QuickSort compared.
- Index variables and expected value of random variables.
- Analysis of Select and Randomized Select,
- Discuss exercise 4.5-4
- Reading: Chapters 5,7
Thu, Feb 18
- homework assignment I (hw problems 1,2,3).
- ω, Ω, Θ, Big O, Little o
- Reading: Chapter 9, Randomized-Select (refer to chapter 5 as needed), Select
- Reading: Chapter 4. Divide and Conquer algorithms,
- Master method, a geometric viewpoint
- Discussed exercise 2.3-7
Tue, Feb 16
- Class cancelled by UD(due to weather)
Thu, Feb 11
- Reading: Chapters 1,2,3: Conventions, notation, some commonly ocurring math:
- Discuss exercises: 2.3-3, 2.3-7, problem 1.1
- Introduction to divide and conquer strategies
- MergeSort
- Karatsuba's algorithm for polynomial and integer multiplication
Tue, Feb 9
saunders@udel.edu