CS 325: Analysis of Algorithms (Fall 2016)

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

TA: Hung Le (Office hours: Tue 5-6pm at KEC Atrium), Zhicheng Fu (Office hours: Thr 2-3pm at KEC Atrium)

Lectures: Tue, Thr 10:00am-11:20am in ILLC 155


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/22: Course introduction, Asymptotic running time analysis.

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

  3. Thr 9/29: (1) Recursion (Sections 1.1 to 1.3); Hanoi Tower, simplify and delegate. (2) Induction (Section 6); Tiling by triominos.

  4. Tue 10/4: (1) Induction (Section 6); Tiling by triominos. (2) Divide and conquer (Sections 1.4 to 1.6); Merge sort, quick sort (not the randomized version), finding median. PA1 due.

  5. Thr 10/6: Divide and conquer (Sections 1.7); Linear time selection.

  6. Tue 10/11: (1) Divide and conquer (Sections 1.8); Karastuba's multiplication. (2) Maximum weight independent set on a path; Dynamic programming. GA1 due.

  7. Thr 10/13: Dynamic programming (Sections 5.2 to 5.3); Longest increasing subsequence.

  8. Tue 10/18: (1) Dynamic programming (Sections 5.5 and 5.6.1); Edit distance, subset sum. (2) Also see Knapsack . PA2 due.

  9. Thr 10/20: Depth First Search; Review of DFS, directed acyclic graphs.

  10. Tue 10/25: Depth First Search; Directed acyclic graphs, detecting cycles, topological sort. GA2 due.

  11. Thr 10/20: Midterm Review.

  12. Tue 11/1: Midterm, Solutions.
    Grades: 31, 30.5, 30, 30, 30, 30, 30, 30, 29, 29, 29, 28.75, 28.5, 28.5, 28.5, 28, 27.5, 27.5, 27.5, 27.5, 26.5, 26, 25.5, 25.25, 25.25, 25, 25, 24.25, 24, 24, 23.5, 23.5, 23, 22.5, 22.25, 21.75, 21.5, 21.5, 21.5, 21.5, 21.5, 21, 20.5, 20.25, 20.25, 20, 20, 19.5, 18.75, 18.5, 18.5, 18.5, 18.5, 18.25, 17.75, 17.75, 17.75, 17.5, 17.25, 17.25, 17, 17, 17, 16.75, 16.75, 16.5, 16, 16, 16, 15.75, 15.75, 15.75, 15.25, 15, 15, 15, 14.75, 14.75, 14.5, 13.25, 12.25, 11.75, 11.75, 10.5, 10.25, 9.5, 8.5

  13. Thr 11/3: Greedy Algorithms (Section 7.2); Job scheduling.

  14. Tue 11/8: Greedy Algorithms (Section 7.3); Huffman codes.

  15. Thr 11/10: Minimum spanning trees (Sections 20.1 to 20.4).

  16. Tue 11/15: (1) Minimum spanning trees (Sections 20.1 to 20.5)(cont.). (2) NP-hard problems. GA2 due.

  17. Thr 11/17: NP-hardness (Sections 30.1 to 30.3, and 30.5).

  18. Tue 11/22: NP-hardness (Sections 30.6 and 30.7). PA3 due.

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

  20. Tue 11/29: NP-hardness (Sections 30.8, 30.9, and 30.12).

  21. Thr 12/1: Final Review. GA4 due.