CS 3510-A, Design and Analysis of Algorithms,
Fall 2012
[Course
Information] [
Approximate Schedule]
General info
Homeworks
- Homework 1 [pdf].
- Homework 2 [pdf].
- Homework 3 [pdf].
- Homework 4 [pdf].
- Homework 5 [pdf].
- Homework 6 [pdf].
- Homework 7 [pdf].
- Homework 8 [pdf].
Lectures
- 08/20:
Intro & Admin. Computing Fibonacci numbers.
- 08/22: Insertion Sort.
Reading: [CLRS] Chapters 2.1 and 2.2.
- 08/24:
Asymptotic Analysis.
Reading: [CLRS] Chapter 3.
- 08/27: Divide and conquer. Mergesort.
Reading: [CLRS] Chapter 2.3.
- 08/29:
Reccurences.
Reading: [CLRS] Chapter 4.
- 08/31:
Reccurences. The master theorem .
Reading: [CLRS] Chapter 4.
- 09/05:
Karatsuba multiplication. Strassen algorithm.
- 09/07:
Probabilistic analysis. Randomized Quicksort..
Reading: [CLRS] Chapters 5, 7.1, 7.2.
- 09/10:
Randomized Quicksort (cont'd). Randomized QuickSelect.
Reading: [CLRS] Chapters 7, 9.2.
- 09/12:
Linear-time Selection, a determinstic linear algorithm.
Reading: [CLRS] Chapters 9.3.
- 09/14:
Comparison-based lower bounds for sorting.
Reading: [CLRS] Chapter 8.1.
- 09/17: Review of Hwk 1 and Hwk 2.
- 09/19: Graph Algorithms. Breadth First Search.
Reading: [CLRS] Chapters 22.1, 22.2.
- 09/21: Depth First Search.
Reading: [CLRS] Chapter 22.3.
- 09/24: First Quiz.
- 09/26: First Quiz Solutions.
- 09/28: Depth First Search (cont'd).
Reading: [CLRS] Chapter 22.3.
- 10/01: Topological Sort.
Reading: [CLRS] Chapter 22.4.
- 10/03: Strongly Connected Components.
Reading: [CLRS] Chapter 22.5.
- 10/05: Minimum Spanning Trees. The Cut Property.
Reading: [CLRS] Chapter 23.1.
- 10/08: Kruskal's Algorithm. Union
Find.
Reading: [CLRS] Chapters 23.2. 21.1, and 21.2.
- 10/10: Prim's Algorithm. Min-Priority Queues.
Reading: [CLRS] Chapters 23.2.
- 10/12: Shortest Path Problems. Disjkstra's Algorithm.
Reading: [CLRS] Chapters 24.0, 24.3.
- 10/17: Disjkstra's Algorithm. Min-Priority Queues. Binary
Heaps
- 10/19: Review of Hwk5. Quiz review.
- 10/22: Second Quiz.
- 10/24: Second Quiz Solutions.
- 10/26: Dynamic Programming.
Longest Common Subsequence.
Reading: [CLRS] Chapters 15.4.
- 10/29: Dynamic Programming.
The Knapsack problem.
- 10/31: Dynamic Programming.
Matrix Chain Multiplication.
Reading: [CLRS] Chapters 15.2, 15.3.
- 11/02: Dynamic Programming. Longest Increasing Subsequences.
- 11/05: Dynamic Programming.
The Bellman Ford Algorithm.
- 11/07: Dynamic Programming.
All-pairs Shortest Paths.
Reading: [CLRS] Chapter 25.1.
- 11/09: Dynamic Programming. The Floyd Warshall Algorithm.
Reading: [CLRS] Chapter 25.2.
- 11/12: Dynamic Programming. Maximum Independent Sets in
Trees.
- 11/14: Dynamic Programming versus Divide and Conquer. Quiz
review.
- 11/16: Third Quiz.
- 11/19: Tractable and Intractable Problems. NP-Completness.
Reading: [CLRS] Chapters 34.1, 34.2, 34.3. You might also find
useful
Luca Trevisan's notes.
- 11/21: Tractable and Intractable Problems. NP-Completness.
Reading: [CLRS] Chapters 34.1, 34.2, 34.3. You might also find
useful
Luca Trevisan's notes.
- 11/26: NP-Completness.
Reading: [CLRS] Chapters 34.4, 34.5. You might also find
useful
Luca Trevisan's notes.
- 11/28: NP-Completness.
Reading: [CLRS] Chapters 34.4, 34.5. You might also find
useful
Luca Trevisan's notes.
- 11/30: NP-Completness (cont'd).
- 12/03: NP-Completness (cont'd).
- 12/05: Special Topics: Machine Learning
.