Data Structures Lectures for Spring 2017
Lecture 
Date 
Topics 
Resources 
InClass Questions 

01 
Jan 10 
Ch 1: Python Review 

02 
Jan 12 
Ch. 2: Algorithm Analysis; Bigoh; timing 

03 
Jan 17 
Ch. 2: Performance of Python Builtin data structures 
More algorithm and builtin data structures analysis questions 

04 
Jan 19 
Ch. 3: Linear data structures; stack implementations 

05 
Jan 24 
Stack applications; Queue implementations 

06 
Jan 26 
Queue applications; Deque 

07 
Jan 31 
Ch. 6.6: Priority Queue: binary heap implementation 

08 
Feb 2 
Unordered Lists implementations 

09 
Feb 7 
Ordered List implementation Ch. 4: Recursion: fibonacci example 

10 
Feb 9 
Ch. 4: Recursion continued 

11 
Feb 14 
Review for Test 1


12 
Feb 16 
Test 1: Chapters 1  3 


13 
Feb 21 
Recursion examples: backtracking coinchange problem an dynamic programming 

14 
Feb 23 
Ch. 5: Searching: linear and binary search 

15 
Feb 28 
Searching: hashing: chaining/closed addressing implementations 

16 
March 2 
Hashing implementations: open addressing implementations; Simple sorts: bubble, selecton, and insertion sorts; 

17 
March 7 
Advanced sorts: heap, merge, and quick sorts 

18 
March 9 
Ch. 6: tree terminology, binary tree implementation, traversals, parse tree application 

19 
March 21 
Binary Search Tree implementation 

20 
March 23 
Binary Search Tree delete method 

21 
March 28 
Review for Test 2 

22 
March 30 
Test 2: Chapters 4 – 5 

23 
April 4 
AVL trees 

24 
April 6 
File Structures vs. Data Structures 

25 
April 11 
Ch. 7: Graph terminology, traversals (BFS and DFS) 

26 
April 13 
Graph implementations, Graph algorithm: topological sort 

27 
April 18 
Graph algorithms: Dijkstra’s algorithm, Prim's Algorithm 
Code mostly from lecture: 

28 
April 20 
Graph algorithms: Traveling Salesperson Problem (TSP) 

29 
April 25 
Approximation algorithm for TSP 

30 
April 27 
Review for Final Exam 

Final Exam, Tuesday (May 2) 8:009:50 AM in Wright 10 