CS 325: Analysis of Algorithms (Fall 2017)

Instructor: Amir Nayyeri (Office hours: Wed 3-4pm at KEC 3061)

TA: Evgenia Chunikhina (Office hours: Fri 9-10am at KEC Atrium), Zhicheng Fu (Office hours: Mon 3-4pm at KEC Atrium)

Lectures: Tue, Thr 10:00am-11:20am in KEAR 112


Tentative topic list: Asymptotic running time analysis, Recursion, Divide and conquer, Dynamic programming, Greedy algorithms, Linear programming, Computational complexity (P and NP), Randomization*, Approximation algorithms*.

Prerequisites: CS 261; Data structures and introductory discrete mathematics, trees and graphs, data structures such as priority queues, basic proof technique including induction.

Evaluation:

Resources:


Announcements:


Homework:


Lectures:

  1. Thr 9/21: Course introduction, Asymptotic running time analysis.

  2. Tue 9/26: Asymptotic running time analysis, also see these videos by Tim Roughgaden.

  3. Thr 9/28: (1) Recursion (Sections 1.1 to 1.3); Hanoi Tower, simplify and delegate.

  4. Tue 10/3: (1) Induction (Section 6); Tiling by triominos, Pancake Sorting. (2) Divide and conquer. PA1 due.

  5. Thr 10/5: Divide and conquer; Binary search, Merge sort.

  6. Tue 10/10: Divide and conquer; Quick sort/select, Karastuba's multiplication. GA1 due.

  7. Thr 10/12: Dynamic programming; Introduction, number of binary strings with no '11' (Fibonacci numbers).

  8. Tue 10/17: (1) Maximum weight independent set on a path, (2) Dynamic programming; Longest increasing subsequence.

  9. Thr 10/19: Dynamic programming; Longest increasing subsequence, longest common subsequence.

  10. Tue 10/24: Dynamic programming; Longest common subsequence, Edit distance.

  11. Thr 10/26: Graphs.

  12. Tue 10/31: Midterm. Midterm of Fall 16. Midterm solutions.

  13. Thr 11/2: Minimum spanning trees, Boruvka.

  14. Tue 11/7: Minimum spanning trees, Generic MST, Boruvka, Kruskal.

  15. Thr 11/9: Minimum spanning trees, Prim, fast implementations.

  16. Tue 11/14: (1) Minimum spanning trees, Kruskal. (2) Greedy Algorithms. GA3 due.

  17. Thr 11/16: Greedy Algorithms.

  18. Tue 11/21: NP-hardness, Decision problems, undecidability, P, NP, NP-hardness. PA3 due.

  19. Thr 11/23: No class, Thanksgiving.

  20. Tue 11/28: NP-hardness, Redcutions, SAT, 3-SAT.

  21. Thr 11/30: NP-hardness, Reductions, Max Independent Set, Max Clique, Graph Coloring. GA4 due.