|
CPS 130
Algorithms |
| 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 in Bold (from [CLRS] unless otherwise
noted) |
|
Tues, Aug 25 |
Overview of the course:
Introduction to Algorithms: Optional Notes: (SS) analyzing
algorithms [PS]
(JR) Models
of Computation [PDF]
[PS] |
[CLRS
1] Optional: |
|
Thurs, Aug 27 |
Asymptotic Analysis: Optional Notes on Asymptotic
Analysis: (LA) Growth
of functions, summations [PS]
|
[CLRS
1, 2] [GKP 2.5] |
|
Tues, Sept 1 |
Recurrence Equations: Optional
Notes on Recurrence Equations: (SS) recurrence
relations [PS] |
[CLRS
4.0-4.2, 4.3-4.4] |
|
Thurs, Sept 3 |
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 8 |
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 10 |
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 15 |
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, Sep17 |
Selection
Algorithms: Optional Notes on Selection: (LA) Linear
time selection, median lower bound [PS]
|
[CLRS
9] |
|
Tues, Sep 22 |
Quiz
on Asymptotic Notation and Recurrences |
|
|
Thurs, Sep 24 |
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 29 |
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 1 |
Amortized Analysis: (EU) Amortized Analysis [PS] Further Notes on Amortized
Analysis (to be presented in Recitation): (PI) Amortized
Analysis II Find-union
data structure - amortized analysis Optional
Notes on Amortized Analysis: (DL) Competitive Analysis Self-Organizing Lists |
[CLRS
17] |
|
Tues, Oct 6 |
No Class: Fall Break |
|
|
Thurs, Oct 8 |
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] |
|
Tues, Oct 13 |
Number
Theory and Cryptography Algorithms: Optional Notes on
Cryptography: |
[CLRS
31] |
|
Thurs, Oct 15 |
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 20 |
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 22 |
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 27 |
(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 29 |
Exam on Randomized Analysis,
Amortized Analysis, Sorting, Searching, Hashing, FFT, Number Theory
Algorithms, Pattern Matching,
& Computational Geometry |
|
|
Tues, Nov 3 |
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 5 |
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 10 |
Augmenting
Paths (Matching): |
[CLRS
22, 26.3] |
|
Thurs, Nov 12 |
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 17 |
(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 19 |
External
Memory Algorithms:
|
|
|
Tues, Nov 24 |
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 276 |
No
Class: Thanksgiving Break |
|
|
Tues, Dec 1 |
Review
of Course Material and Key Algorithms and Analysis Methods |
|
|
Thurs, Dec 3 |
Exam
on Graph & Network Algorithms, Dynamic Programming |
|
|
Sunday, Dec 13 |
FINAL
EXAM: 2:00 PM - 5:00 PM PLEASE
DOUBLE-CHECK THE EXAM DATE AND TIME WITH REGISTRAR |
Final
Exam |
Last
Modified: Thursday, 02-Aug-2008 08:13:45 EDT