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

Lineartime 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.13.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, Prim1, Prim2

HWP1 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

HWP1 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

HWP2 out, HW4 due

3/29

20

D&C: Fast Fourier Transform

§ 5.6


4/10

21

Network flow

§ 7.1


4/12

22

NF: FordFulkerson algorithm, maxflow mincut theorem

§ 7.1, 7.2


4/17

23

Fast FordFulkerson, Applications of network flow: matching

§ 7.3, 7.5

HW5 out, HWP2 due

4/19

24

Extensions and applications of network flow

§ 7.67.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

NPCompleteness, Satisfiability

§ 8.2, 8.3

HW7 out, HW6 due

5/3

28

Guest lecture: dealing with intractability



5/8

29

Some NPComplete problems I



5/10

30

Some NPComplete problems II


HW7 due

