Data Structures Lectures for Spring 2012
Lecture 
Date 
Topics 
Overheads 
Handouts 

01 
Jan 10 
Algorithm Complexity Analysis 

02 
Jan 12 
Revisit Complexity Analysis, searching, selection sort 


03 
Jan 17 
Bubble sort, recursion review, and divideandConquer vs. dynamic programming 

Recursion and DivideandConquer vs. Dynamic Programming Questions 
04 
Jan 19 
Python “Review”: classes 


05 
Jan 24 
Pydoc, pyunit testing 

06 
Jan 26 
Collections overview, array vs. linked tradeoffs 

07 
Jan 31 
More on Array vs. linked tradeoffs; Textbook's Array class 


08 
Feb 02 
Stack implementations 

09 
Feb 07 
Queue implementations 

10 
Feb 09 
Stack Applications and Priority Queue implementations 

11 
Feb 14 
Review for Test 1 

12 
Feb 16 
Test 1: Chapters 11 – 14 


13 
Feb 21 
List types and Positional List Implementations and Iterators 

14 
Feb 23 
Heap, Merge, and Quick Sorts 


15 
Feb 28 
Quick Sort with analysis and coinchange problem divideandconquer 

16 
Mar 01 
Coinchange backtracking vs. dynamic programming 


17 
Mar 06 
Binary Tree terminology and operations Binary Tree and Binary Search Tree implementation 
Binary tree terminology, operations and implementation questions 

18 
Mar 08 
Binary Search Tree implementation 


Spring Break: March 12 – March 16 

19 
Mar 20 
Intro. To AVL trees 


20 
Mar 22 
Continue AVL trees 


21 
Mar 27 
Review for Test 2 

22 
Mar 29 
Test 2: Chapters: 1517 and sections 18.918.11 on Heaps 


23 
Apr 03 
Hash table implementations 

24 
Apr 05 
File data structures: Hashing and B+ Trees 

25 
Apr 10 
Deletion from B+ trees and graph introduction 

26 
Apr 12 
Graph Implementation and DFS Traversal 


27 
Apr 17 
Graph Algorithms: Prim's Min.Spanning Tree and Dijkstra's Shortest Path 


28 
Apr 19 
Graph Algorithms: TravelingSalesperson (TSP) Problem 


29 
Apr 24 
Finish TSP Approximation Algorithm 


30 
Apr 26 
Review for Final Exam 


Final Exam, Tuesday (May 1) 89:50 AM in ITT 328 