CS 577: Introduction to Algorithms

    Chem B371 TR 1:00-2:15PM
    Spring 2012
 



      Course info
      Lectures
      Homeworks
      Staff Schedule
      Piazza


    NEW (5/1/12): Please see a note on Piazza for an update to HW7.

    Course info: Click here for info on the course content, text, grading, exams, etc.; See sidebar for quick links.
    Online discussion site: We will conduct discussions via Piazza.

    Schedule and readings

    The following is a tentative list of topics and a collection of material relevant to lectures. More information and links will be added as the semester proceeds.

    Date Lec # Topic Readings/Notes/Slides Handouts/Other Info
    1/24 1 Intro; Computing Fibonacci numbers §2
    1/26 2 Divide & Conquer algorithms: searching and sorting §2, §5.1, §5.2
    1/31 3 D&C: counting inversions; Randomized D&C: quicksort §5.3, §13.3, §13.5, demo
    2/2 4 Analysis of quicksort; More on random variables and expectation §13.3, §13.5
    2/7 5 Linear-time selection: randomized and deterministic §13.5, demo, notes HW1 out
    2/9 6 Selection (continued), Conditional probability and expectation §13.5, §13.12
    2/14 7 Hashing §13.6, §13.12 HW2 out, HW1 due
    2/16 8 Basic graph algorithms & connectivity: BFS, DFS §3.1-3.3, demos: DFS, BFS
    2/21 9 Shortest paths in graphs, greedy algorithms §4.4, demo: Dijkstra's algo HW3 out, HW2 due
    2/23 10 Greedy algorithms: interval scheduling, minimum spanning trees §4.1
    2/28 11 Greedy algorithms: Minimum spanning trees §4.5, §4.6, demos: Kruskal, Prim-1, Prim-2 HW-P1 out, HW3 due
    3/1 12 Greedy algorithms: MST (contd.), Huffman codes §4.5, §4.8, demo: Huffman
    3/6 13 Greedy algorithms: Huffman codes (contd.) §4.8
    3/8 14 Dynamic Programming: Weighted interval scheduling §6.1, §6.2, demo: Weighted interval scheduling
    3/13 15 DP: longest increasing subsequence, sequence alignment §6.2, §6.6 HW-P1 due
    3/15 16 Midterm review Questions on Piazza
    3/20 17 DP: Knapsack §6.4 HW4 out
    3/22 18 DP: Shortest paths revisited §6.8, §6.10, notes
    3/27 19 D&C: multiplication & fast Fourier transform § 5.5, § 5.6 HW-P2 out, HW4 due
    3/29 20 D&C: Fast Fourier Transform § 5.6
    4/10 21 Network flow § 7.1
    4/12 22 NF: Ford-Fulkerson algorithm, max-flow min-cut theorem § 7.1, 7.2
    4/17 23 Fast Ford-Fulkerson, Applications of network flow: matching § 7.3, 7.5 HW5 out, HW-P2 due
    4/19 24 Extensions and applications of network flow § 7.6-7.10
    4/24 25 Linear Programming Notes on Piazza HW6 out, HW5 due
    4/26 26 Reductions and computational tractability, the classes P and NP § 8.1, 8.3
    5/1 27 NP-Completeness, Satisfiability § 8.2, 8.3 HW7 out, HW6 due
    5/3 28 Guest lecture: dealing with intractability
    5/8 29 Some NP-Complete problems I
    5/10 30 Some NP-Complete problems II HW7 due