||Lect. 1. Stable
problem: a motivating example
Lect. 2. Basics of algorithm analysis.
matching, basic algorithm design and analysis.
||Lect. 3. Asymtotic
Lect. 4. Common running time.
|HW2. Asymtotic notations. Running time analysis.|
||Lect. 5. Divide
Lect. 6. Divide and conquer (cont.)
||Lect. 7. Probabalistic
Lect. 8. Heapsort.
|HW3. Divide and conquer and probabilistic analysis|
||Lect. 9. Lower
quicksort, and counting sort.
Lect. 10. Greedy algorithms.
|| Midterm exam 1.
Lect.11. Greedy algorithm and dynamic programming.
|HW4. Greedy algorithm and dynamic programming|
Dynamic programming (cont.)
Lect. 13. Dynamic programming (cont.)
More dynamic programming
Lect. 15. Basic graph algorithms: BFS and DFS
|HW5. Dynamic programming|
DFS and its applications.
Lect. 17. Minimum spanning tree. (MST)
||Lect. 18 Shortest
Midterm exam 2.
|HW6. Basic graph algorithms and MST.|
to randomized algorithms.
Lect. 20. Introduction to algorithms on text and strings.
Algorithms with numbers.
Lect. 22. Concept of NP completeness.
|HW7. Shortest path and more.|
Lect. 24. NP completeness: proofs.
|HW8. NP completeness.|
NP completeness: proofs
Lect. 26. Cope with NP completeness: heuristics, speical instances and approximation.