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).