Summary of Lecture Topics

CPS 230

Summary of Lecture Topics

Date

Topics & Lecture Notes

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

Readings  (from [CLRS] unless otherwise noted)

 

Mon Aug 26

Introduction:

Introduction to Algorithms ps pdf

analyzing algorithms ps pdf

Auxiliary Notes:

Algorithm Design ps pdf

Computing Fibonocci Numbers ps pdf

Models of Computation ps pdf

Introduction to Algorithms ps pdf

1, 2,

[GKP,  1.1-1.2] 

 

Wend Aug 28

Mathematical foundations:

Growth of functions, summations ps pdf

asymptotic notation ps pdf

Auxiliary Notes:

Asymptotics and Recurrence Equations ps pdf

Asymptotic Growth ps pdf

3, Appendix A, 
[GKP, 2.5 and asymptotic expansions]

 

Wend Sept 4

Mathematical foundations: 

Strassen's algorithm, Master method for recurrence ps pdf

recurrence relations ps pdf

Auxiliary Notes:

Example Problems ps pdf

More Example Problems ps pdf

Master Method ps pdf

4.0-4.2, (4.3-4.4, but read lecture notes instead)
28.1-28.2

 

Fri Sept 6

Randomized and Average-Case Analysis

Probabilistic Algorithms ps pdf

Probability Theory ps pdf

Appendix C.2-C.3

 

Mon Sept 9

Sorting:

Quicksort ps pdf

Introduction to Quicksort ps pdf

Applications of Sorting ps pdf

Auxiliary 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

7, 8, [MR]

 

Wend Sept 11

Priority Queues:

Heaps and heapsort ps pdf

heapsort ps pdf

Example heap problems ps pdf

Auxiliary Notes:

Heaps ps pdf

6

 

Mon Sept 16

Sorting:

Linear time selection, median lower bound  ps pdf

Median and Order Statistics ps pdf

linear sorting ps pdf

Auxiliary Notes:

Computing Statistics ps pdf

9, [Baase, 3.4]

 

Wend Sept 18

Sorting:

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

Auxiliary Notes:

Examples of Sorting Lower Bounds ps pdf

Deterministic Selection and Sorting ps pdf

8.0-8.3

 

Mon Sept 23

Searching:

Search trees, red-black trees ps pdf

Binary Search trees ps pdf

Red-Black trees ps pdf

Red-Black tree Rotation, Insertion, Deletion ps pdf

Auxiliary 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

10, 12.0-12.3, (13, but read lecture notes instead)

 

14, [deBerg, 10.1]

 

Wend Sept 25

Searching:

Hashing, skip lists  ps pdf

Introduction to Hash Tables ps pdf

Universal Hashing ps pdf

Auxiliary Notes:

elementary data structures ps pdf

Hashing ps pdf

Universal Hash Functions ps pdf

Hashing Polynomials ps pdf

5.0-5.2, 5.4.1, 8.4
11, [GT, 7.5]

 

Mon Sept 30

Review of Searching and Sorting Algorithms(TA Tingting Jiang)

 

 

Wend Oct 2

Mid Term Exam

 

 

Mon Oct 7

Amortized analysis: 

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

Amortized Analysis

Amortized Analysis ps pdf

Amortized analysis:

Splay trees ps pdf

Analysis of Splay Trees

Auxiliary Notes:

Splay Trees ps pdf

17,[Kozen, 12]

 

Wend  Oct 9

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] Lower bound on external sorting,
[Arge] External-Memory Algorithms

18

 

Wend  Oct 16

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

15.0-15.2

 

Mon Oct 21

Design paradigms:

Greedy algorithms
Huffman codes, activity selection
 ps pdf

Huffman Compression ps pdf

16.0-16.3

 

Wend  Oct 23

Graph algorithms: 

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

Graph Definitions ps pdf

Graph Algorithms using Depth First Search ps pdf

data structures for graphs ps pdf

DFS and BFS ps pdf

Auxiliary Notes:

Graph Algorithms ps pdf

22

Appendix B.4-B.5

 

Mon Oct 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

 

Wend  Oct 30

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 Nov 4

Graph algorithms:

Matching ps pdf

Auxiliary Notes:

Bipartite Matching ps pdf

Breadth-First Search of Graphs ps pdf

26.2-26.3

 

Wend  Nov 6

Graph Algorithms:

Flow Networks ps pdf

Flow Networks, continued ps pdf

Auxiliary Notes:

Flow Algorithms ps pdf

26.0-26.2

 

Mon  Nov 11 Review Lecture by Prof. Reif    

Wend  Nov 13

Mid Term Exam    

Mon  Nov 18

Fast Fourier Transform:

Polynomials and the Fast Fourier Transform ps pdf

Auxiliary Notes:

FFT and Multiplication ps pdf

Polynomial Computation ps pdf

30

 

Wend  Nov 20

Number Theory and Cryptography Algorithms:

Number Theory Algorithms ps pdf

Cryptography ps pdf

31

 

Mon Nov

25

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

 

Sat Dec 14

Final Exam 2 pm to 5 pm

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

Color Codes for Credits for lecture notes:

 

 

Course textbook:


Other references made available:


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