ECS 122A - Syllabus and Reading Assignments
|
Lecture |
Topic |
Reading |
Lect 1 - F 9/27 |
Introduction |
1 |
Lect 2 - M 9/30 |
Big-O etc. Divide and conquer.
Recurrences
|
2, 3, 4.1-4.3 |
Lect 3 - W 10/2 |
Integer multiplication. Mergesort. Quicksort |
8 |
Lect 4 - F 10/4 |
Quicksort analysis. Heapsort |
7 |
Lect 5 - M 10/7 |
Heapsort |
7 |
Lect 6 - W 10/9 |
Selection algorithms |
10 |
Lect 7 - F 10/11 |
Selection lower bound |
Handout A |
Lect 8 - M 10/14 |
Sorting lower bound. Radix sorts |
9, Handout B |
Lect 8 - M 10/14 |
Hashing |
12.1-12.2 |
Lect 10 - F 10/18 |
Universal and perfect hashing |
12.3 |
Lect 11 - M 10/21 |
Amortized analysis - dynamic rehashing |
18 |
Lect 12 - W 10/23 |
Binary search trees |
13 |
Lect 13 - F 10/25 |
Dynamic programming |
16.1 - 16.3 |
Lect 14 - M 10/28 |
Randomly-built BSTs. Splay trees |
Handout C |
Lect 15 - W 10/30 |
Splay Trees. Optimal binary search trees. |
Handout D |
Lect 16 - F 11/1 |
Optimal binary search trees. |
17.1 - 17.2 |
Lect 17 - M 11/4 |
Huffman code |
17.3 |
Lect 18 - W 11/6 |
Kruskal's algorithm. Union/Find results |
24. 22 (results) |
Lect 19 - F 11/8 |
Midterm |
- |
Lect 20 - M 11/11 |
Prim's algorithm. F-Heap results |
21 (results) |
Lect 21 - W 11/13 |
Graphs. BFS |
5.4. 23.1-23.2 |
Lect 22 - F 11/15 |
DFS |
23.3 |
Lect 23 - M 11/18 |
Topological sort. Strongly connected components |
23.4-23.5 (-pf:23.5) |
Lect 24 - W 11/20 |
Single-source shortest paths. |
25.1-25.4 |
Lect 25 - F 11/22 |
All-pairs shortest paths. |
26.1-26.2 |
Lect 26 - M 11/25 |
Stable marriages. String matching with DFAs |
Handout E. 34.1, 34.3 |
Lect 27 - W 11/27 |
KMP. Approximate string matching |
Handout F. 34.2 |
Lect 28 - M 12/2 |
NP-Hardness (part 1) |
36 |
Lect 29 - W 12/4 |
NP-Hardness (part 2) |
36 |
Lect 30 - F 12/6 |
Program checking |
- |
###### - S 12/14 |
Final |
- |