CSE 30331/34331

Data Structures

Schedule

Date Reading Class Assignments
Introduction 08/25 Introduction
08/27 p. 30
[ch. 1]
Abstract data types and complexity analysis
Unit 1: Sequences 09/01 pp. 87, 216
[ch. 2–4]
Dynamic arrays; classes and copy control HW1
09/03 5.1–2, 5.5–6, 6.1–5 Linked lists; templates
09/08 7.1–3, 8.1–3 Stacks, queues, and deques
09/10 An RPN calculator with undo PG1
Unit 2: Sorting and priority queues 09/15 10.1–2, 11.1–2, 11.4, handout Priority queues: binary heaps HW2
09/17 13.1, 13.3Sorting: insertion, selection, heap
09/22 [9], 13.2, 13.4 Sorting: merge, quick
09/24 Where is the nearest food? PG2
Unit 3: Searching and search trees 09/29 12.1, [10.3–4], 10.5 Binary search and binary search trees HW3
10/01 11.3 B-trees
10/06 11.5, handout Red-black trees
10/08 Where is the nearest food, continued PG3
10/13 Project presentations
10/15 Midterm exam
Fall break
Unit 4: Hash tables 10/27 12.2–4 Separate chaining, hash functions HW4
10/29 pages 601, 618–619 again Open addressing, rehashing
11/03 handout Bucket sort
11/05 Geocoding in South Bend PG4
Unit 5: Graphs 11/10 15.1–2 Graph representations HW5
11/12 15.3 Breadth-first, depth-first search
11/17 15.4 Dijkstra's algorithm
11/19 Navigating around South Bend PG5
Advanced topics 11/24 Handout Very small data structures
11/26 Thanksgiving
12/01 Handout Very big data structures
12/03 Project presentations
12/08 Project presentations
12/10 Project presentations
12/15
10:30am
Final exam

Readings in square brackets cover review topics. They are optional, but you are expected to be familiar with the concepts in them.