Data Structures Lectures for Fall 2011
Lecture 
Date 
Topics 
Overheads 
Handouts 

01 
Aug 23 
Algorithm Complexity Analysis 

02 
Aug 25 
Revisit Complexity Analysis, searching, selection sort 


03 
Aug 30 
Bubble sort, recursion review, and divideandConquer vs. dynamic programming 

Recursion and DivideandConquer vs. Dynamic Programming Questions 
04 
Sep 01 
Python “Review”: classes 


05 
Sep 06 
Pydoc, pyunit testing 

06 
Sep 08 
Collections overview, array vs. linked tradeoffs 

07 
Sep 13 
More on Array vs. linked tradeoffs; Textbook's Array class 


08 
Sep 15 
Stack implementations 

09 
Sep 20 
Queue implementations 

10 
Sep 22 
Stack Applications and Priority Queue implementations 

11 
Sep 27 
Review for Test 1 

12 
Sep 29 
Test 1: Chapters 11 – 14 


13 
Oct 04 
List types and Positional List Implementations and Iterators 

14 
Oct 06 
Heap, Merge, and Quick Sorts 


15 
Oct 11 
Quick Sort with analysis and coinchange problem divideandconquer 

16 
Oct 13 
Coinchange backtracking vs. dynamic programming 


17 
Oct 18 
Binary Tree terminology and operations Binary Tree and Binary Search Tree implementation 
Binary tree terminology, operations and implementation questions 

18 
Oct 20 
Binary Search Tree implementation 


19 
Oct 25 
Intro. To AVL trees 


20 
Oct 27 
BST vs. AVL performance; Intro. To hashing 

21 
Nov 01 
Review for Test 2 

22 
Nov 03 
Test 2: Chapters: 1517 and sections 18.918.11 on Heaps 


23 
Nov 08 
Hash table implementations 


24 
Nov 10 
File data structures: Hashing and B+ Trees 

25 
Nov 15 
Deletion from B+ trees and graph introduction 

26 
Nov 17 
Graph Implementation and DFS Traversal 


27 
Nov 29 
Graph Algorithms: Prim's Min.Spanning Tree and Dijkstra's Shortest Path 


28 
Dec 01 
Graph Algorithms: TravelingSalesperson (TSP) Problem 


29 
Dec 06 
Finish TSP Approximation Algorithm 


30 
Dec 08 
Review for Final Exam 


Final Exam, Tuesday (December 13) 89:50 AM in ITT 322 