CS 216 - Data Structures
Readings


Unless otherwise noted, all readings are from the course text.  Each reading assignment should be completed before the class on the date indicated.  These readings are subject to change; check here for updates.  If a reading assigned in class does not match the reading assignment here, the reading assigned in class supercedes.
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