Class log: CS 3345.004: Data Structures and Introduction to Algorithmic Analysis (Fall 2018, MW 8:30-9:45 AM, ECSS 2.410)

Lec	Date	  Topics
 1	M 8/20	  Introduction
 2	W 8/22	  RT analysis, Order notation
 3	M 8/27	  Lists, Stacks, Queues
 4	W 8/29	  Implementation of linked lists, SinglyLinkedList.java example

 5	W 9/5	  List applications, Queues
 6	M 9/10	  Stacks, Applications of stacks: Parsing arithmetic expressions
 7	W 9/12	  Expression trees, Project discussion, Trees: introduction
 8	M 9/17	  Binary trees, Tree traversals, Dictionary ADT, Binary search trees
 9	W 9/19	  Solutions to assignments, Quiz 1
10	M 9/24	  Implementation of Binary search trees
11	W 9/26	  Solutions to problems, TreeSet/TreeMap in Java library

12	M 10/1	  Solutions to problems, Balanced BST, AVL trees
13	W 10/3	  AVL Trees, analysis of AVL trees, Skip lists
14	M 10/8	  Applications of BST, Hashing
15	W 10/10	  Mid-term exam
16	M 10/15	  Hashing
17	W 10/17	  Hashing
18	M 10/22	  Priority Queues
19	W 10/24	  Applications of Priority Queues, Sorting algorithms
20	M 10/29	  Merge sort, Quick sort
21	W 10/31	  kth largest element of unsorted array, Introduction to graphs

22	M 11/5	  Breadth-first search, Graph class for implementing graph algorithms
23	W 11/7	  Depth-first search, Topological ordering of DAGs, PERT
24	M 11/12	  Topological order, Minimum spanning trees: Prim and Kruskal's algorithms
25	W 11/14	  Quiz 2, Correctness of Prim's algorithm
26	M 11/26	  Prim's algorithm using indexed heaps, Shortest path problems
27	W 11/28	  Shortest path algorithms: Dijkstra's, on DAGs

28	M 12/3	  Shortest path algorithms: Bellman-Ford, Floyd-Warshall
29	W 12/5	  Floyd-Warshall example, Proper usage of the Graph class, Misc topics

Final exam: 8:00 AM, Mon, Dec 17 (announced by the Registrar).