Moon's day | Woden' s day | Frigga's day |
---|
|
Jan 20 |
Prolegomena. Introduction |
Pretest assigned
|
|
Jan 22 |
Algorithms and correctness |
Pretest due
|
|
Jan 25 |
Algorithms and correctness; algorithms and efficiency |
|
|
Jan 27 |
Algorithms and efficiency |
|
|
Jan 29 |
Algorithms and efficiency |
Implementing ADTs assigned
|
|
Feb 1 |
Abstract data types |
|
|
|
Feb 5 |
Data structures; programming practices |
|
|
Feb 8 |
Case studies. Counting sort |
Linear Sorting assigned
|
|
Feb 10 |
Radix sort |
Implementing ADTs due
|
|
Feb 12 |
Disjoint sets and array forests |
|
|
Feb 15 |
Priority queues and heaps |
Linear Sorting due; Heaps assigned
|
|
Feb 17 |
N-sets and bit vectors |
Bit Vectors assigned
|
|
Feb 19 |
Graphs. Concepts and implementation |
|
|
|
Feb 24 |
Minimum spanning trees |
Bit Vectors due; MST assigned
|
|
Feb 26 |
Minimum spanning tree |
|
|
Mar 1 |
Single source shortest paths |
SSSP assigned
|
|
|
|
Mar 8 |
Binary search trees. General BSTs |
BST Rotations assigned
|
|
|
Mar 12 |
AVL trees |
BST Rotations due
|
|
Mar 15 |
AVL trees |
BST rotations due; AVL trees assigned
|
|
Mar 17 |
Traditional red-black trees |
Traditional RB trees assigned
|
|
Mar 19 |
Left-leaning red-black trees |
AVL trees due; [Practice: LLRB trees]
|
|
|
Mar 24 |
Dynamic programming. Introduction |
|
|
Mar 26 |
Dynamic programming principles |
Traditional RB trees due
|
|
Mar 29 |
Dynamic programming algorithms |
|
|
Mar 31 |
DP: Optimal BSTs |
Optimal BSTs assigned
|
|
|
|
|
Apr 9 |
Hash tables. Introduction and separate chaining |
Opt BSTs due; [separate chaining practice]
|
|
Apr 12 |
Open addressing |
Open addressing assigned
|
|
|
Apr 16 |
Perfect hashing |
Perfect hashing assigned
|
|
Apr 19 |
Hash table performance |
Open addressing due
|
|
|
Apr 23 |
Tries |
Tries assigned
|
|
Apr 26 |
Regular expressions |
Perfect hashing due
|
|
Apr 28 |
Regular expressions |
|
|
|