Lecture Schedule

# Date Topics Covered References
0 Aug 8 Organizational meeting  
1 Aug 10 Introduction: Data Structures and Algorithms
Google Search problem (Top k problem)
 
    Basic Data Structures  
2 Aug 17 List ADT, Stack ADT Weiss: Chapter 3.1-3.3
3 Aug 22 Queue ADT
Binary Min-Heap
Weiss: 3.4
Weiss: 6.1-6.3
4 Aug 24 Binary Min-Heap (contd.)
Application: Least k problem
Weiss: 6.1-6.3
Weiss: 6.4.1
5 Aug 29 Binary Search Tree Weiss: 4.3
6 Aug 31 Binary Search Tree (contd.)
AVL-Trees
Weiss: 4.3, 4.4
7 Sept 5 AVL-Trees - Insert using Rotations Weiss: 4.4
    Divide and Conquer Algorithms  
8 Sept 7 Merge Sort , QuickSort Weiss: 7.6, 7.7
KT 5.1
9 Sept 12 QuickSort, Selection Problem Weiss: 7.6, 7.7
10 Sept 14 Closest Pair Problem KT 5.4, Weiss: 10.2.2
    Greedy Algorithms  
11 Sept 19 Interval Scheduling KT 4.1
12 Sept 21 Dijkstra's Algorithm KT 4.4
    Dynamic Programming  
13 Sept 26 Fibonacci Numbers Weiss 10.3.1
14 Sept 28 Matrix chain Multiplication
Principles of Dynamic Programming
Weiss 10.3.2
Cormen et al(CLRS) book Chpt 15.2,15.3 (additional material)
15 Oct 3 Weighted Interval Scheduling
Principles of Dynamic Programming
Knapsack problem
KT 6.1, 6.2, 6.4
  Oct 5 Midterm review  
  Oct 7 MIDTERM EXAM  
    Graph Algorithms  
16 Oct 10 Graph Traversals
Depth First Search, Breadth First Search
KT 3.1, 3.2, 3.3
Weiss 4.6, 9.6, 9.3.1
17 Oct 17 Shortest paths Weiss 9.3
18 Oct 19 Minimum Spanning Tree Weiss 9.5
    Lower bounds and NP-completeness  
19 Oct 24 Comparison based Lower bounds
Lower bounds using adversary arguments
Michiel Smid lecture notes (Section 1.1)
Jeffe Erickson lecture notes
20 Oct 26 Lower bounds using reductions Jeffe Erickson lecture notes (Sections Q4 and Q5)
21 Oct 31 Polynomial time reductions
On P, NP and NP-complete
Avrim Blum's lecture
KT 8.1,8.2
22 Nov 2 On P, NP and NP-completeness Avrim Blum's lecture
KT 8.3,8.4
23 Nov 7 Overview of Complexity Classes
Undecidibility - Halting Problem
Lecture Notes on Halting Problem
    Advanced Algorithms and Data Structures  
24 Nov 9 Vertex Cover - Parametrized Algorithm, 2-approx algo. KT 10.1
Lecture Notes on Approximation (Section K2, K5)
25 Nov 14 Approximation Algorithms
Set Cover, Hitting Set, Euclidean TSP
Lecture Notes on Approximation (Section K2, K3, K4, K6, K7)
26 Nov 16 Randomized QuickSort and Selection
Randomized Matrix Multiplication Verification
KT 13.5
Frievald's Algorithm
27 Nov 21 Randomized Skip List Weiss 10.4

Weiss : Data Structure and Algorithm Analysis in C, Mark Allen Weiss

KT : Algorithm Design, Kleinberg and Tardos