CPS 130 Algorithms Lectures |
| Homework - Handouts - Teaching Assistants - Resources |
Lecture Schedule and Notes |
Current homework is
available from the homework page.
Date |
Topics and Lecture Notes (Required Readings and Lectures in Bold) |
Required Readings (from [CLRS] unless otherwise noted) |
|
Tues, Aug 26 |
Overview of the course: Introduction to Algorithms: Optional Notes: (SS) analyzing algorithms [PS] (JR) Models
of Computation [PDF]
[PS] |
[CLRS 1] Optional: |
|
Thurs, Aug 28 |
Asymptotic Analysis: Optional Notes on
Asymptotic Analysis: (LA) Growth
of functions, summations [PS]
|
[CLRS 1, 2] [GKP 2.5] |
|
Tues, Sept 2 |
Recurrence Equations: Optional Notes on Recurrence
Equations: (SS) recurrence
relations [PS] |
[CLRS 4.0-4.2,
4.3-4.4] |
|
Thurs, Sept 4 |
Divide and Conquer: (DL) Divide
and Conquer Merge sort,
binary search, powering a number, polynomial multiplication, matrix
multiplication, Fibonacci Optional Notes on Divide and Conquer: (LA) Strassen's
algorithm, Master method for recurrence [PS] |
[CLRS 4] |
|
Tues, Sep 9 |
Sorting
Algorithms: (DL) Linear time sorting Lower
bounds on comparison-based sort, decision-tree model, comparison sort, radix
sort Optional Notes on Linear Sorting: (SS) Linear Sorting [PS] Optional Notes on Lower Bounds on Sorting: (LA) Lower
bound in decision tree model, bucket and radix sort [PS]
(SS) Heapsort
[PS]
|
[CLRS 6, 9] |
|
Thurs, Sep 11 |
Search Trees: Optional Notes on Search Trees: (DL) Binary
search trees - Expected Height Randomly Build Binary search trees
(LA) Search
trees, red-black trees [PS]
|
[CLRS 10,
12.0-12.3, 13] |
|
Tues, Sep 16 |
Randomized Algorithms and Quicksort: (PI) Randomized Algorithms and QuickSort Randomized algorithms: Monte-Carlo vs. Las-Vegas; matrix product checker; quick sort: deterministic, randomized; indicator variables, expected running time Optional Notes on Quicksort: (LA) Quicksort
[PS] Optional Notes on
Randomized and Average-Case Analysis: Optional Notes on Hidden Markov
Models: (PI) Hidden Markov Models I Markov
Chains, Hidden Markov Models, Dishonest Casino Example, Evaluating path
emissions likelihood, Max-likelihood path and Viterbi algorithm, total
emissions probability and forward algorithm. (PI) Hidden Markov Models II Algorithms for HMMs: review of evaluation,
Viterbi, forward; posterior decoding; supervised learning; unsupervised
learning: viterbi training and baum-welch training. (PI) Computational Biology: Regulatory Motif Discovery Bio intro: DNA and the dynamic cell, Regulatory motif definitions, Combinatorial formulation: median string finding, Probabilistic formulation: expectation maximization and Gibbs sampling, comparative genomics and discovery by genome-wide conservation. |
[CLRS 5]
|
|
Thurs, Sep18 |
Selection
Algorithms: Optional Notes on
Selection: (LA) Linear
time selection, median lower bound [PS]
|
[CLRS 9] |
|
Tues, Sep 23 |
Quiz on Asymptotic Notation and Recurrences |
|
|
Thurs, Sep 25 |
Hashing: (DL) Hashing
I Simple uniform hashing, open addressing, hash
functions in practice Universal Hashing: (to be presented by TA in Recitation): (DL) Hashing II Universal hashing, perfect
hashing Optional Notes Introducing Hashing: (SS) Introduction
to Hash Tables Optional Notes on Universal Hashing and Extensions: (EU) Universal
Hashing (SS) elementary
data structures (JR) Universal
Hash Functions [PS] (JR) Hashing
Polynomials [PS] |
[CLRS 11] |
|
Tues, Sept 30 |
Skip Lists: (DL) Skip Lists Randomized
Insertion & Analysis Further Dynamic Data
Structures (to be presented by TA in Recitation): (DL) Augmenting Data Structures Dynamic Order Statistics, Interval Trees Optional Notes on Skip Lists: (LA) Hashing, Skip Lists |
|
|
Thurs, Oct 2 |
Amortized Analysis: Further Notes on Amortized Analysis (to be presented in Recitation): (PI) Amortized Analysis II Find-union data structure - amortized analysis (DL) Competitive Analysis
Self-Organizing Lists Optional Notes on Amortized
Analysis: (EU) Amortized
Analysis [PS]
|
[CLRS 17] |
|
Tues, Oct 7 |
Fast Fourier Transform and Polynomial Algorithms Optional Notes on Fast Fourier Transform and Polynomial Algorithms: (PI) Fast
Fourier Transform Fast Fourier Transform -
Polynomial multiplication |
[CLRS 30] |
|
Thurs, Oct 9 |
Number Theory
and Cryptography Algorithms: Optional Notes on
Cryptography: |
[CLRS 31] |
|
Tues, Oct 14 |
No Class: Fall
Break |
|
|
Thurs, Oct 16 |
Pattern Matching: (PI)Randomized
Pattern Matching Pattern matching - average case
analysis - Karp-Rabin algorithm – fingerprinting Optional Notes
on Pattern Matching: (JR) Randomized Pattern Matching [PS] |
[CLRS 32] |
|
Tues, Oct 21 |
Computational Geometry: (PI) Computational Geometry I Closest Pair Further Computational Geometry
(to be presented in Recitation): (PI) Computational Geometry II Segment Intersection |
[CLRS 33] |
|
Thurs, Oct 23 |
Introduction
to Graph algorithms (Depth First Search): (SS) Data
structures for graphs Optional Notes on
Graph Definitions: (EU) Formal
Graph Definitions [PS]
Optional Notes on Depth First Search (LA) Model,
basic algorithms, DFS, BFS, topological sort, strongly connected components
[PS]
|
[CLRS 22] |
|
Tues, Oct 28 |
(DL) Greedy Algorithms (and Graphs) Graphs, representation, minimum spanning tree (MST), greedy algorithms, hallmarks of Greedy vs. Dynamic Programming, Proof of optimal substructure and greedy property, Prim's algorithm, Kruskal's algorithm. Optional Notes: (LA) Minimum
spanning trees, Union-Find [PS]
|
[CLRS 23, 21.0-21.3] |
|
Thurs, Oct 30 |
Exam on Randomized Analysis, Amortized Analysis, Sorting, Searching, Hashing, FFT, Number Theory Algorithms, Pattern Matching, & Computational Geometry |
|
|
Tues, Nov 4 |
Graph algorithms (Single Source Shortest Paths): Further Shortest
Paths Algorithms (to be presented in Recitation): (DL) Shortest Paths II Negative
weights and lack of greedy-choice property; Bellman-Ford. Optional Notes on Shortest Paths: (LA) Shortest
paths [PS]
|
[CLRS
24.0-24.3, 25.2] |
|
Thurs, Nov 6 |
Graph algorithms (Multiple Source Shortest Paths): (DL) All Pair Shortest Paths All-pairs
shortest paths and dynamic programming, matrix multiplication,
Floyd-Warshall; Johnson's algorithm, graph reweighing and difference
constraints. Optional Notes on Multiple Source Shortest Paths:
|
[CLRS
24] |
|
Tues, Nov 11 |
Augmenting
Paths (Matching): |
[CLRS 22, 26.3] |
|
Thurs, Nov 13 |
Augmenting Paths (Network
Flow): (PI) Network
Flows I Network flows - max flow - cut - residual graph -
augmenting paths Further Flow
Algorithms (to be presented in Recitation): (PI) Network
Flows II Network flows - Ford-Fulkerson algorithm -
Edmonds-Karp Algorithm Optional Notes on Network Flows: (JR) Flow Algorithms [PDF] [PS] |
[CLRS
26.2-26.3] |
|
Tues, Nov 18 |
(DL) Dynamic Programming Dynamic
Programming Hallmarks; DP vs. Greedy; Fibonacci, Overlapping subproblems,
Re-use of computation, Bottom-Up; Longest Common Subsequence, recursive
formulation, proof of optimal substructure, c[i,j] parameterization,
traceback, duality of paths and alignments Optional Notes: (LA) Dynamic
Programming, Matrix chain multiplication [PS]
|
[CLRS
15.1-15.5] |
|
Thurs, Nov 20 |
External
Memory Algorithms:
|
|
|
Tues, Nov 25 |
NP Search Problems and Approximation Algorithms: Optional Notes on NP Search Problems: (PI) NP I Polynomial vs exponential running time - class NP - reductions (PI) NP II NP-completeness - SAT - Clique - Independent set - Vertex cover Optional Notes on Approximation Algorithms: (PI) Approximation algorithms Approximation algorithms - TSP - set cover (LA) Approximation
Algorithms [PS]
|
[CLRS 34, 35] |
|
Thurs, Nov 27 |
No Class: Thanksgiving Break |
|
|
Tues, Dec 2 |
Review of Course Material and Key Algorithms and Analysis Methods |
|
|
Thurs, Dec 4 |
Exam on Graph
& Network Algorithms, Dynamic Programming |
|
|
Thurs, Dec 11 |
FINAL EXAM: 9:00 AM - NOON PLEASE DOUBLE-CHECK THE EXAM DATE AND TIME WITH REGISTRAR |
Final Exam |
|
Last Modified: Thursday, 02-Aug-2008 08:13:45 EDT