![]() |
CS 216 - Data Structures
Readings |
| Class | Month | Day | Topic | Readings (parenthesized reading are optional) |
| 1 | September | 2 | Course Overview, Data Structures and Algorithms, Representing problems, solving problems | |
| 2 | 4 | Representing problems, solving problems (cont.) | Cormen et al Ch. 1, link 1, link 2, link 3 | |
| 3 | 9 | Stacks and Queues; Array-based stack implementation | 10.1 | |
| 4 | 11 | Stochastic test harnesses; Array-based queue implementation | ||
| 5 | 16 | in class implementation | ||
| 6 | 18 | Linked lists: Singly-linked lists; List-based stack implementation; List-based queue implementation | 10.2 | |
| 7 | 23 | Linked lists: Doubly-linked lists | ||
| 8 | 25 | Linked lists: Doubly-linked lists (cont.), Big-O notation, tradeoff discussion | ||
| 9 | 30 | Graphs: search problem formulation, directed-graphs, breadth-first search, depth-first search | 22.1-22.2, search problems | |
| 10 | October | 2 | Graphs: search tradeoffs, depth-limited search, iterative-deepening depth-first search | |
| 11 | 7 | Graphs: tree representations, repeated state detection, in-class development/testing | 10.4 | |
| 12 | 9 | Hash tables: Chained hash tables, hash functions | 11.1-11.3 (skip 11.3.3) | |
| 13 | 16 | Hash tables: (in-class implementation) | ||
| 14 | 21 | Hash tables: open-address hashing | 11.4 | |
| 15 | 23 | In-class midterm exam | ||
| 16 | 28 | Binary search trees: preorder/inorder/postorder traversals, queries, insertion, deletion | 12.1-12.2, play with BST applet | |
| 17 | 30 | Binary search trees: minimum, successor | 12.3 | |
| 18 | November | 4 | Binary search trees: deletion | |
| 19 | 6 | Binary heaps: heap structure, complete binary trees, array representation, insert, extract max | 6.1-6.3, play with heap demo | |
| 20 | 11 | Binary heaps: heapsort, priority queues | 6.4-6.5 | |
| 21 | 13 | Graphs: adjacency list and adjacency matrix representations, search review | 22.1-22.3 | |
| 22 | 18 | Graphs: topological sort, strongly connected components | 22.4-22.5 | |
| 23 | 20 | Graphs: minimum spanning trees (Kruskal's algorithm, Prim's algorithm) | 23.1-23.2 | |
| 24 | 25 | Graphs: Single source shortest path, Djikstra's algorithm | 24 intro and section 3 | |
| 25 | December | 2 | Graphs: All-pairs shortest path, transitive closure, Floyd-Warshall algorithm | 25 intro through section 2 |
| 26 | 4 | (in-class final assignment presentations) | ||
| 27 | 9 | (in-class final assignment presentations) | ||
| 28 | 11 | course evaluations; final review session |