CPS 130

Summary of Lecture Topics

 
Date
Topics & Lecture Notes

(See below for color codes for credits for lecture notes.)

Readings  (from [CLRS] unless otherwise noted)
 
Wend Jan 8
Introduction: 

analyzing algorithms ps pdf

Auxiliary Notes:

Introduction to Algorithms ps pdf

Optional Notes:

Algorithm Design ps pdf

Computing Fibonocci Numbers ps pdf

Models of Computation ps pdf

Introduction to Algorithms ps pdf

Required:


[CLRS 1, 2]
 

Optional:

[GKP,  1.1-1.2] 

 

 
Fri Jan 10
Asymptotic Analysis: 

asymptotic notation ps pdf

Auxiliary Notes:

Growth of functions, summations ps pdf


 

Optional Notes:

Asymptotics and Recurrence Equations ps pdf

Asymptotic Growth ps pdf

Required:


[CLRS Appendix A]
 

Optional: 
[GKP, 2.5]

 
Mon  Jan 13
Mathematical foundations: 

recurrence relations ps pdf

Auxiliary Notes:

Strassen's algorithm, Master method for recurrence ps pdf


 

Optional Notes:

Example Problems ps pdf

More Example Problems ps pdf

Master Method ps pdf

Required:


[CLRS 4.0-4.2, 4.3-4.4]

Optional:

[CLRS 28.1-28.2]

 
Wend Jan 15 Review Lecture  on Recurrence Equations
Fri Jan 17

 

Quiz on Recurrence Equations and Asymptotics

 

 

 
 

Wend Jan  22
Overview of Randomized and Average-Case Analysis

Probabilistic Algorithms ps pdf

Auxiliary Notes:

Probability Theory ps pdf

Required:


[CLRS Appendix C.2-C.3] 

Mon Jan 27 
Sorting: 

Introduction to Quicksort ps pdf

Applications of Sorting ps pdf

Auxiliary Notes:

Quicksort ps pdf

Optional Notes:

Sorting ps pdf

Analysis of Quicksort ps pdf

Randomized Algorithms for Selection and Sorting ps pdf

Selection Sort ps pdf

Examples of Quicksort Analysis ps pdf

Required:


[CLRS 7, 8]

Optional: [MR]

 
Wend Jan 29
Priority Queues: 

heapsort ps pdf

Example heap problems ps pdf

Auxiliary Notes:

Heaps and heapsort ps pdf

Optional Notes:

Heaps ps pdf

Required:


[CLRS 6]

 
Mon Feb 3
Sorting: 

linear sorting ps pdf

Linear time selection, median lower bound  ps pdf

Deterministic Selection and Sorting ps pdf

Optional Notes:

Median and Order Statistics ps pdf

Computing Statistics ps pdf

Required:


[CLRS 9]

Optional:

[Baase, 3.4]

 
Wend Feb 5
Sorting: 

Lower bound in decision tree model, bucket and radix sort ps pdf

Examples of Sorting Lower Bounds ps pdf

Fri Feb 7

 

Quiz on Recurrence Equations and Asymptotics (Optional)

 

 

 
 
Mon Feb 10
Searching:

Binary Search trees ps pdf

Red-Black trees ps pdf

Red-Black tree Rotation, Insertion, Deletion ps pdf

Search trees, red-black trees ps pdf

Optional Notes:

Example Red-Black tree problem ps pdf

Example Data Structure Problem ps pdf

Binary Search Trees ps pdf

Search Algorithms ps pdf

Augmented search trees, interval trees ps pdf

Required:


[CLRS 10, 12.0-12.3, 13]

Optional:

[CLRS 13,14]

[deBerg, 10.1]

 
Wend Feb 12
Searching: 

Introduction to Hash Tables ps pdf

Hashing, skip lists  ps pdf

Optional Notes:

Universal Hashing ps pdf

elementary data structures ps pdf

Hashing ps pdf

Universal Hash Functions ps pdf

Hashing Polynomials ps pdf

Required:


[CLRS 5.0-5.2, 5.4.1]

Optional:

[CLRS 8.4, 11] [GT, 7.5]

 
Mon Feb 17
Mid Term Exam postponed to WED FEB 19
 
 
Wed Feb 19
Mid Term Exam on everything covered in the lectures after recursion and before hashing. This includes Prob Analysis, Sorting, Selection, Searching, Lower bounds for all above problems (No Hashing) 
 
 
 Mon Feb 24
Amortized analysis, Part I: 

Amortized Analysis ps pdf

Aggregate analysis, potential method, binary counter, dynamic table ps pdf

Optional Notes:

Amortized Analysis

Amortized analysis, Part II: 

Splay trees ps pdf

Analysis of Splay Trees

Optional Notes:

Splay Trees ps pdf

Required:


[CLRS 17]

Optional:

[Kozen, 12]

 
Wend Feb 26
Graph algorithms: 

Graph Definitions ps pdf

Graph Algorithms using Depth First Search ps pdf

Model, basic algorithms, DFS, BFS, topological sort, strongly connected components ps pdf

data structures for graphs ps pdf

DFS and BFS ps pdf

Auxiliary Notes:

Graph Algorithms ps pdf

Required:


[CLRS 22]

Optional:

[CLRS Appendix B.4-B.5]

 
Fri Feb 28
Graph algorithms: 

Minimum spanning trees, Union-Find ps pdf

Minimum Weights Spanning Tree ps pdf

Data Structures for Disjoint Sets ps pdf

Auxiliary Notes:

minimum spanning trees ps pdf

Minimum Spanning Trees ps pdf

 23, 21.0-21.3
 
Mon  March 3
Graph algorithms: 

Shortest paths ps pdf

shortest path algorthms ps pdf

Shortest Paths Problems ps pdf

Bellman-Ford Algorithm ps pdf

All-pairs Shortest Paths ps pdf

Auxiliary Notes:

Shortest Paths ps, pdf

24.0-24.3, 25.2
 
Mon  March 17
Graph algorithms:

Matching ps pdf

Auxiliary Notes:

Bipartite Matching ps pdf

Breadth-First Search of Graphs ps pdf

26.2-26.3
 
Wed March 19 
Graph Algorithms: 

Flow Networks ps pdf

Flow Networks, continued ps pdf

Auxiliary Notes:

Flow Algorithms ps pdf

26.0-26.2
 
Mon  March  24
Review Lecture on Graph Algorithms 
 
 
Wend  March 26
Mid Term Exam on Amortized Analysis and all Graph related topics covered till date  
 
 
Wed  April  2
External memory algorithms: 

Model, basic upper and lower bounds, sorting, B-trees ps pdf

Auxiliary Notes:
[Vitter] The Input/Output Complexity of Sorting and Related Problems pdf
External Memory Algorithms and Data Structures: Dealing with MASSIVE Data ps pdf,
Arge:


[Arge] External-Memory Algorithms

Required:


[CLRS 18]

 
Fri  April 4
Design paradigms: 

Dynamic programming Matrix chain multiplication ps pdf

introduction to dynamic programming ps pdf

dynamic programming applications ps pdf

Dynamic Programming ps pdf

Auxiliary Notes:

Example dynamic programming problem ps pdf

Dynamic Programming: Segmentation ps pdf

Dynamic Programming: LCS ps pdf

Required:


[CLRS 15.0-15.2]

 
Mon  April  7
Design paradigms: 

Greedy algorithms
Huffman codes, activity selection
 ps pdf

Huffman Compression ps pdf

Required:


[CLRS 16.0-16.3]

 
Wend  April 9
Fast Fourier Transform:

Polynomials and the Fast Fourier Transform ps pdf

Auxiliary Notes:

FFT and Multiplication ps pdf

Polynomial Computation ps pdf

30
 
Mon  April  14 and       Wed April 16
Number Theory and Cryptography Algorithms:

Number Theory Algorithms ps pdf

Cryptography ps pdf

31
 
Mon  April  21
Approximation Algorithms:

Approximation Algorithms  ps pdf

Approximately Correct Algorithms ps pdf

Auxiliary Notes:

approximation algorithms and Cook's theorem ps pdf

35.0-35.3
 
Wend  April  23
Review of the Course Material 
 
 
Thur May 1
Final Exam (2 p.m.-5 p.m.)
 
 

 
 
 
 

Color Codes for Credits for lecture notes:

Course textbook:


Other references made available:


John Reif / Duke University /  reif@cs.duke.edu