| |
Teaching Assistant - Resources |
Lecture Schedule and Notes
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
Date |
Topics
and Lecture Notes (Required
Readings and Lectures in Bold) |
Required
Readings in Bold (from
[CLRS] unless otherwise noted) |
Tues, Aug 27 |
Overview of the course: Introduction to Algorithms: Optional Notes: (SS) analyzing algorithms (JR) Models of Computation [PDF] |
[CLRS 1 & 2], [DPV 0] Optional: |
Thurs, Aug 29 |
Asymptotic Analysis: (JR) Asymptotics and Recurrence Equations [PDF] Optional Notes on Asymptotic Analysis: (LA) Growth of functions, summations |
[CLRS 3], [DPV 0] [GKP 2.5] |
Tues, Sept 3 (Assignment of HM1: Asymptotic Notation and Recurrence) |
Recurrence Equations: (JR) Asymptotics
and Recurrence Equations [PDF] Optional Notes on Recurrence
Equations: (SS) recurrence relations |
[CLRS 4.3-4.6], [DPV 2.2] |
Thurs, Sept 5 |
Divide and Conquer: (DL) Divide
and Conquer Merge sort, binary search,
powering a number, polynomial multiplication, matrix multiplication,
Fibonacci (BF) Matrix Multiplication via Divide and
Conquer Optional Notes on Divide and Conquer: |
[CLRS 4.1-4.2], [DPV 2] |
Tues, Sept 10 |
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 Optional Notes on Lower Bounds on Sorting: (LA) Lower bound in decision tree model, bucket
and radix sort [PS] (SS) Heapsort |
[CLRS 8] |
Thurs, Sept 12 (HM1 due before class) (Assignment of HM2)
|
Search Trees: Binary search trees - Balanced BSTs - Red-Black trees Optional Notes on Search Trees: (DL) Binary search trees - Expected Height Randomly Build
Binary search trees (LA) Search trees, red-black trees Optional: 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 |
[CLRS 12 & 13] |
Tues, Sept 17 |
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 7] |
Thurs, Oct 19 (HM2 due before class) |
Selection Algorithms: Finding ith smallest element, probabilistic order statistic finder, deterministic linear-time select Optional Notes on Selection: (LA) Linear time selection, median lower bound |
[CLRS 9] |
*Tues,
Sept 24 |
Introduction to Hashing: (DL) Hashing I Simple
uniform hashing, open addressing Universal Hashing: (DL) Hashing II Universal hashing, perfect
hashing
Optional
Notes Introducing Hashing: (BF) Consistent
Hashing (SS) Introduction to Hash Tables Optional
Notes on Universal Hashing and Extensions: (EU) Universal Hashing (SS) elementary data structures (JR) Hashing Polynomials |
[CLRS 11] |
Thurs,
Sept 26 |
Quiz on Asymptotic Notation and Recurrences |
|
Tues, Oct 1 |
Amortized Analysis: (DL) Amortized Analysis I Dynamic
Tables, Accounting and Potential Methods (EU) Amortized Analysis Optional Notes on Amortized Analysis: (PI) Amortized Analysis
II Find-union data
structure - amortized analysis (DL) Competitive Analysis Self-Organizing
Lists |
[CLRS 17] |
Thurs, Oct 3
|
Computational
Geometry: (PI) Computational Geometry I Closest
Pair (PI) Computational Geometry II Segment
Intersection Further
Computational Geometry: (BF) Approximate
Nearest Neighbor |
[CLRS 33] |
*Tues,
Oct 8 |
No
Class - Duke Fall Break |
|
*Thurs,
Oct 10 (Assignment
of HM3) |
Midterm Exam (Sorting, Searching, Hashing,
Randomized and Amortized Analysis) |
|
Tues, Oct 15 |
Fast Fourier Transform and Polynomial Algorithms (PI) Fast
Fourier Transform Fast
Fourier Transform - Polynomial multiplication Optional Notes on Fast Fourier Transform and
Polynomial Algorithms:\ |
[CLRS 30], [DPV 2.5,2.6] |
Thurs, Oct 17 |
Number Theory and Cryptography Algorithms: Optional Notes on Cryptography: |
[CLRS 31] |
Tues, Oct 22 (HM3 due before class) |
Pattern Matching: (PI)Randomized Pattern Matching Pattern
matching - average case analysis - Karp-Rabin algorithm – fingerprinting Optional Notes on Pattern Matching: (JR) Randomized Pattern Matching Optional Notes on Data Compression: (BF) Huffman
Codes |
[CLRS 32] |
Thurs,
Oct 24 (Assignment of HM4) |
Introduction to Graph algorithms (Depth First
Search), Part I: (SS) Data structures for graphs |
[CLRS 22], [DPV 3] |
Tues, Oct 29 |
Introduction to Graph algorithms (Depth First
Search), Part II: (JR) Graph Algorithms using Depth First Search [PDF] Optional Notes on Graph Definitions: Optional Notes on Graph Definitions: Optional Notes on Depth First Search (LA) Model, basic algorithms, DFS, BFS,
topological sort, strongly connected components
|
[CLRS 22], [DPV 3] |
Thurs, Oct 31 (Assignment of HM5) |
(DL) Greedy Algorithms (and Graphs) (LA) Minimum
spanning trees, Union-Find Optional Notes: (EU) Minimum Weights Spanning Tree |
[CLRS
16.0-16.3 & 23], [DPV 5] |
Tues, Nov 5 (HM4 due before class) |
Graph algorithms (Single Source Shortest Paths): Multiple Source Shortest Paths: (DL) Shortest Paths II Negative
weights and lack of greedy-choice property; Bellman-Ford. (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 Shortest Paths: Further Shortest Paths Algorithms: Shortest Paths Algorithms for Graphs with Negative
Weights: (LA) Shortest paths |
[CLRS 24], [CLRS
25] , [DPV
4] |
Thurs, Nov 7 (Assignment of HM5) |
Augmenting Paths (Graph
Matching): Optional Notes on Graph Matching: Optional Notes on Network flow: (further
application of augmenting paths) (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 Further Optional Notes on Network Flows: (JR) Flow Algorithms [PDF] |
[CLRS 22.1-22.2], [DPV 7.3] Optional reading: [CLRS 26.1-26.2], [DPV 7.2] |
Tues, Nov 12 |
(DL) Dynamic Programming:
Dynamic Programming Hallmarks; Overlapping subproblems, Re-use of
computation, Bottom-Up; Longest Common Subsequence, recursive formulation,
proof of optimal substructure, traceback (LA) Dynamic
Programming, Matrix chain multiplication Optional Notes: |
[CLRS15], [DPV 6] |
Thurs, Nov 14 |
External Memory Algorithms: (LA) Model, basic upper and lower bounds,
sorting, B-tree Optional Notes on External Memory Algorithms: |
[CLRS 18] |
Tues, Nov 19 (HM5 due before class) |
Algorithms
Applied to WWW (BF) Streaming
Algorithms- CountMin-Sketch (BF) Measuring
Graph Centrality - The PageRank Algorithm Option Notes on Algorithms Applied to WWW Spectral
Graph Algorithms: (BF) Intro
to Spectral Techniques: Graphs and Eigenvalues (BF) Spectral
Clustering in Graphs |
|
Thurs, Nov 21
|
Approximation Algorithms & NP Search Problems,
Part I: (PI) NP Search Problems and Approximation
Algorithms Search Problems, Part II: (PI) NP - reductions (Pearsaul) NP and NP Completeness Optional Notes on Approximation Algorithms |
[CLRS 34 & 35], [DPV 8] |
*Tues, Nov 26 |
Exam (FFT, Cryptography, Computational Geometry,
Graph Algorithms) Optional Notes on Final Exam Review (read before
you take the final exam): (BF) Final Exam Review |
|
*Monday, Dec 16 7:00 PM - 10:00 PM |
FINAL EXAM (see schedule of final exams) |
|