Photo from facebook fan page Physicsfun
Instructor: Shen-Fu Tsai(parity@gmail.com)
Office hour: by appointment
Textbook: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to algorithms. MIT press, 2022.
Grading: exam 33.33% x 3
Schedule (12 + ?? + ??= 39 hr)
Week 1 practice 1
Feb 24 [Foundation] Syllabus, what is algorithm, insertion sort
Feb 26 Big O notation
Week 2 practice 2
Mar 03 Divide-and-conquer, merge sort
Mar 05 Strassens' algorithm, solving recurrences
coding practice: merge sort
Week 3 practice 3
Mar 10 [Sorting & order statistics] Heap
Mar 12 Heapsort, Quicksort
coding practice: heapsort
Week 4 practice 4
Mar 17 Randomized quicksort
Mar 19 Sorting in linear time, medians and order statistics, [DP & greedy] Dynamic Programming (DP): rod cutting problem
Week 5 practice 5
Mar 24 Dynamic Programming (DP):
Mar 26 Dynamic Programming (DP): Longest Common Subsequence (LCS)
coding practice: Longest Common Sequence
Week 6 practice 6
Mar 31 Dynamic Programming (DP): Knapsack problems
Apr 02 No class
coding practice: Knapsack problem
Week 7
Apr 07 Dynamic Programming (DP)
Apr 09 Exam 1
Week 8 practice 8
Apr 14 Greedy algorithms
Apr 16 Greedy algorithms
coding practice: greedy algorithm
Week 9 practice 9
Apr 21 Greedy algorithms
Apr 23 [Graph algorithms]
Week 10 practice 10
Apr 28 Greedy algorithms
Apr 30 Breadth First Search (BFS), Depth First Search (DFS)
coding practice: BFS & DFS
Week 11 practice 11
May 05 Depth First Search (DFS)
May 07 [Shortest paths] Bellman-Ford and DAG algorithms
Week 12
May 12 Dijkstra's algorithm
May 14 Exam 2
Week 13
May 19 Dijkstra's algorithm
May 21 [Minimum Spanning Tree]
Week 14
May 26
May 28
Week 15
Jun 02
Jun 04 [NP-completeness]
Week 16
Jun 09
Jun 11 Exam 3