Home
Course info
Homeworks
Staff Schedule
Picture Board
UW CS
Theory Group
|
Lecture schedule
Date
|
Lec #
|
Topic
|
Readings/Notes/Slides
|
Handouts/Other Info
|
9/3
|
1
|
Intro; Computing Fibonacci numbers
|
info, §2
|
HW0 out
|
9/8
|
2
|
Divide & Conquer algorithms: searching and sorting
|
§2, §5.1, §5.2, notes
|
Sol0 out
|
9/10
|
3
|
D&C: counting inversions, selection
|
§5.3 , demo
|
|
9/13
|
4
|
D&C: linear time selection
|
notes, demo
|
|
9/15
|
5
|
D&C: selection (contd.), multiplication
|
§5.5, §5.6
|
HW1 out
|
9/17
|
6
|
Fast Fourier Transform
|
§5.6
|
|
9/20
|
7
|
D&C: FFT contd.
|
§5.6
|
|
9/22
|
8
|
Basic graph algorithms & connectivity: BFS, DFS
|
§3.1, 3.2, 3.5, 3.6, demo
|
HW1 due, HW2, Sol1 out
|
9/24
|
9
|
Graph traversal (contd.)
|
§3, demo
|
|
9/27
|
10
|
Shortest paths, greedy algorithms
|
§4.4, demo
|
|
9/29
|
11
|
Shortest paths contd., Greedy algorithms: interval scheduling
|
§4.4, 4.1
|
HW2 due, HW3, Sol2 out
|
10/01
|
12
|
Greedy algorithms: interval scheduling contd.
|
§4.1, demo
|
|
10/04
|
13
|
Minimum spanning trees
|
§4.5, 4.6, demos: Kruskal's, Prim's 1, Prim's 2
|
|
10/06
|
14
|
MSTs (contd.)
|
§4.5, 4.6
|
HW3 due, HW4, Sol3 out
|
10/08
|
15
|
Huffman codes, Greedy algorithms wrap-up
|
§4.8, demo
|
|
10/11
|
16
|
Huffman codes (contd.), Dynamic Programming
|
§6.1, 6.2
|
|
10/13
|
17
|
DP: Weighted interval scheduling
|
§6.1, 6.2, demo
|
HW4 due, Sol4 out
|
10/15
|
18
|
Knapsack
|
§6.4
|
HW5 out
|
10/18
|
19
|
Sequence alignment
|
§6.6
|
|
10/20
|
20
|
String matching
|
notes
|
|
10/22
|
21
|
String matching (contd.), Shortest paths revisited
|
notes, § 6.8
|
HW5 due, Sol5 out
|
10/25
|
--
|
No lecture; midterm in the evening
|
|
Midterm solutions
|
10/27
|
22
|
Shortest paths (contd.)
|
§ 6.8, 6.9, notes
|
|
10/29
|
23
|
Shortest paths (contd.); make-up midterm in the evening
|
§ 6.8, 6.9, 6.10, notes
|
|
11/01
|
24
|
Network flow
|
§ 7.1
|
|
11/03
|
25
|
Ford-Fulkerson algorithm
|
§ 7.1, 7.2
|
HW6 out
|
11/05
|
26
|
Ford-Fulkerson fast implementation, maximum matching
|
§ 7.3, 7.5
|
|
11/08
|
27
|
Extensions and applications of network flow
|
§ 7.5, 7.6, 7.7
|
|
11/10
|
28
|
Extensions and applications of network flow
|
§ 7.6-7.10
|
HW6 due, HW7, Sol6 out
|
11/12
|
29
|
Network flow wrap-up
|
§ 7.10-7.11
|
|
11/15
|
30
|
Randomized algorithms: global min-cut
|
§ 13.1, 13.2, 13.12
|
|
11/17
|
31
|
Karger's algorithm
|
§ 13.2, 13.12
|
HW7 due, HW8, Sol7 out
|
11/19
|
32
|
Randomized selection and quicksort
|
§ 13.3, 13.5
|
|
11/22
|
33
|
Quicksort (contd.), Hashing
|
§ 13.5, 13.6
|
|
11/24
|
34
|
Coupon collection, records, and load balancing
|
|
HW8 due, HW9, Sol8 out
|
11/29
|
35
|
Hashing contd.
|
§ 13.6
|
HW9 out
|
12/01
|
36
|
Reductions and computational tractability
|
§ 8.1, 8.3
|
|
12/03
|
37
|
The classes P and NP
|
§ 8.2, 8.3
|
|
12/06
|
38
|
NP-Completeness, Satisfiability
|
§ 8.2, 8.4
|
HW9 due, HW10, Sol9 out
|
12/08
|
39
|
Some NP-Complete problems: 3-SAT, VC, IS
|
§ 8.2, 8.6
|
|
12/10
|
40
|
Some NP-Complete problems: Coloring, Hamiltonian path
|
§ 8.7, 8.5
|
|
|