Date | Description |
---|---|
June 20 |
Abstract data types (ADT); worst case running time; big O, big Omega, big Theta; rules of sums and products for big O MW 2.1-2.4.2 |
June 22 |
Dictionary ADT; implementations by unsorted and sorted arrays and linked lists; review of binary search trees MW 4.3 |
June 27 |
Quicksort implemented recursively and using a stack; AVL trees: proof of logarithmic height MW 7.7.1, MW 4.4 Quicksort handout |
June 29 |
AVL trees MW 4.4 |
July 6 |
Splay trees MW 4.5 |
July 11 |
Hashing MW 5.1-5.5 |
July 13 |
Universal classes of hash functions; priority queue ADT and binary heaps MW 6.1-6.3 Universal classes of hash functions |
July 18 |
BuildHeap; heapsort MW 6.3.4, MW 7.5 |
July 25 |
Mergesort; introduction to graphs MW 7.6, MW 9.1 |
July 27 |
Introduction to fork-join parallelism DG 2-3.3 |
August 1 |
ForkJoin Framework and analyses DG 3.4-4 |
August 3 |
Parallel prefix, pack, and sort DG 5 |
August 8 |
Topological sort, adjacency lists, unweighted shortest path MW 9.1-9.3.1 |
August 10 |
Unweighted shortest path analysis, Dijkstra's algorithm MW 9.3.1-9.3.2 |
August 15 |
Dijkstra's algorithm analysis, Kruskal's algorithm MW 9.3.2, 9.5.2 |