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

01 
Jan 9 
Ch 1: Python Review 

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

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

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

05 
Jan 23 
Stack applications; Queue implementations 

06 
Jan 25 
Queue applications; Deque 

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

08 
Feb 1 
Unordered Lists implementations 

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

10 
Feb 8 
Ch. 4: Recursion continued 

11 
Feb 13 
Review for Test 1


12 
Feb 15 
Test 1: Chapters 1  3 

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

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

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


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

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

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

19 
March 20 
Binary Search Tree implementation 


20 
March 22 
Binary Search Tree delete method 


21 
March 27 
Review for Test 2



22 
March 29 
Test 2: Chapters 4 – 5 


23 
April 3 
AVL trees 


24 
April 5 
File Structures vs. Data Structures 

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


26 
April 12 
Graph implementations, Graph algorithm: topological sort 


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

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


29 
April 24 
Approximation algorithm for TSP 


30 
April 26 
Review for Final Exam 


Final Exam, Tuesday (May 1) 8:009:50 AM in Wright 9 