CPS 130 Algorithms ->Lectures

| Homework - Handouts - Teaching Assistants - Resources

 

Lecture Schedule and Notes

Duke Computer Science


Current homework is available from the homework page.

Date

Topics and Lecture Notes
(See below for color codes for credits for lecture notes)

Required Readings (from [CLRS] unless otherwise noted)

Tues, Aug 28

Overview of the course: Introduction to Algorithms
(SS) analyzing algorithms [PS]

[CLRS 1]

Thurs, Aug 30

Introduction to Algorithms
(JR) Models of Computation [PDF] [PS]
(JR) Computing Fibonacci Numbers [PDF] [PS]

Auxiliary notes:
(LA) Introduction to Algorithms [PS]

Optional notes:
(SS) Algorithm Design [PS]

[CLRS 1, 2]

Optional:
[GKP 1.1-1.2]

Tues, Sep 4

Asymptotic Analysis:
(SS) asymptotic notation [PS]

Auxiliary notes:
(LA) Growth of functions, summations [PS]

Optional notes:
(JR) Asymptotics and Recurrence Equations [PDF] [PS]

[CLRS Appendix A]

Optional:
[GKP 2.5]

Thurs, Sep 6

Recurrence Equations:
(SS) recurrence relations [PS]

Auxiliary notes:
(LA) Strassen's algorithm, Master method for recurrence [PS]

Optional notes:
(SS) Example Problems [PS]
(SS) More Example Problems [PS]

[CLRS 4.0-4.2, 4.3-4.4]

Optional:
[CLRS 28.1-28.2]

Tues, Sep 11

Lower Bounds on Sorting:
(LA) Lower bound in decision tree model, bucket and radix sort [PS]

Priority Queues:
(SS) Heapsort [PS]
(SS) Example heap problems [PS]

Optional notes:
(SS) Examples of Sorting Lower Bounds [PS]
(LA) Heaps and heapsort [PS]

[CLRS 6, 9]

Optional:
[Baase, 3.4]

Thursday, Sep 13

Selection and Radix Sort:
(SS) Linear Sorting [PS]
(LA) Linear time selection, median lower bound [PS]
(JR) Deterministic Selection and Sorting [PDF] [PS]

Optional Notes:
(EU) Median and Order Statistics [PS]

[CLRS 9]

Optional:
[Baase, 3.4]

Tuesday, Sep 18

Quiz over Asymptotic Notation and Recurrences

 

Thurs, Sep 20

Searching:
(SS) Binary Search trees [PS]
(SS) Red-Black trees [PS]
(SS) Red-Black tree Rotation, Insertion, Deletion [PS]
(LA) Search trees, red-black trees [PS]

Optional notes:
(SS) Example Red-Black tree problem [PS]
(SS) Example Data Structure Problem [PS]
(LA) Augmented search trees, interval trees [PS]
(JR) Search Algorithms [PDF] [PS]

[CLRS 10, 12.0-12.3, 13]

Optional:
[CLRS 13, 14]
[deBerg, 10.1]

Tues, Sep 25

Overview of Randomized and Average-Case Analysis:
(EU) Probabilistic Algorithms [PS]

Auxiliary notes:
(JR) Probability Theory [PDF] [PS]

 

Thurs, Sep 27

(LA) Quicksort [PS]
(SS) Introduction to Quicksort [PS]
(SS) Applications of Sorting [PS]

Auxiliary Notes:
(Littman) Sorting [PS]
(Littman) Analysis of Quicksort [PS]
(JR) Randomized Algorithms for Selection and Sorting [PDF] [PS]
(SS) Selection Sort [PS]
(SS) Examples of Quicksort Analysis [PS]

Old notes for this day:

Amortized analysis, Part II:
(LA) Hashing, Skip Lists [PS]
Treaps, Skip Lists, Shortest Paths [PS]

[CLRS 17]

Optional:
[Kozen, 12]

Tues, Oct 2

Amortized analysis, Part I:
(EU) Amortized Analysis [PS]
(LA) Aggregate analysis, potential method, binary counter, dynamic table [PS]

Optional notes:
(DS) Amortized Analysis

 

Thurs, Oct 4

Graph algorithms (Graph Definitions):
(EU) Graph Definitions [PS]
(SS) Data structures for graphs [PS]

(SS) DFS and BFS [PS]

[CLRS 22]

Optional:
[CLRS Appendix B.4-B.5]

Tues, Oct 9

FALL BREAK

 

Thursday, Oct 11

Graph algorithms (Depth First Search I):
(JR) Graph Algorithms using Depth First Search [PDF] [PS]
(LA) Model, basic algorithms, DFS, BFS, topological sort, strongly connected components [PS]
(SS) DFS and BFS [PS]

[CLRS 22]

Optional:
[CLRS Appendix B.4-B.5]

Tuesday, Oct 16

Graph algorithms (Depth First Search II):
(JR) Graph Algorithms using Depth First Search [PDF] [PS]
(LA) Model, basic algorithms, DFS, BFS, topological sort, strongly connected components [PS]
(SS) DFS and BFS [PS]

[CLRS 22]

Optional:
[CLRS Appendix B.4-B.5]

Thurs, Oct 18

Quiz on Sorting and Searching, Randomized Analysis and Amortized Analysis

 

Tues, Oct 23

Graph algorithms (Spanning Trees):
(LA) Minimum spanning trees, Union-Find [PS]
(EU) Minimum Weights Spanning Tree [PS]
(EU) Data Structures for Disjoint Sets [PS]

Optional notes:
(SS) Minimum Spanning Trees [PS]

[CLRS 23, 21.0-21.3]

Thurs, Oct 25

Graph algorithms (Breadth-First search):
(JR) Breadth-First Search of Graphs [PDF] [PS]

Optional notes:
(EU) Matching [PS]

[CLRS 23, 21.0-21.3]

Tues, Oct 30

Graph algorithms (Shortest Paths):
(LA) Shortest paths [PS]
(SS) Shortest path algorthms [PS]

(EU) Shortest Paths Problems [PS]
(EU) Bellman-Ford Algorithm [PS]
(EU) All-pairs Shortest Paths [PS]

[CLRS 24.0-24.3, 25.2]

Thurs, Nov 1

(JR) Flow Algorithms [PS] [PDF]

[CLRS 26.2-26.3]

Tues, Nov 6

Review Lecture on Graph Algorithms

 

Thurs, Nov 8

Exam on Amortized analysis and Graph Algorithm topics

 

Tues, Nov 13

External memory algorithms:
(LA) Model, basic upper and lower bounds, sorting, B-tree [PS]

Auxiliary Notes:
(JV) The Input/Output Complexity of Sorting and Related Problems
(JV) External Memory Algorithms and Data Structures: Dealing with MASSIVE Data [PS]
(LA) Lower bound on external sorting
(LA) External-Memory Algorithms

[CLRS 15.0-15.2]

Thurs, Nov 15

Design Paradigms:
(LA) Dynamic Programming, Matrix chain multiplication [PS]
(SS) Introduction to Dynamic Programming [PS]
(SS) Dynamic Programming applications [PS]
(EU) Dynamic Programming [PS]

Auxiliary Notes:
(SS) Example dynamic programming problem [PS]

[CLRS]

Tues, Nov 20

Fast Fourier Transform and Algebraic Algorithms
(EU) Polynomials and the Fast Fourier Transform [PS]

Auxiliary Notes:
(JR) FFT and Multiplication [PDF] [PS]
(JR) Polynomial Computation [PDF] [PS]

[CLRS 30]

Thurs, Nov 22

THANKSGIVING BREAK

 

Tues, Nov 27

Number Theory:
(JR) Number Theory Algorithms [PDF] [PS]

[CLRS 31]

Thurs, Nov 29

Cryptography:
(EU) Cryptography [PS]

 

Tues, Dec 4

Approximation Algorithms:
(LA) Approximation Algorithms [PS]
(EU) Approximately Correct Algorithms [PS]

Auxiliary Notes:
(SS) Approximation Algorithms and Cook's Theorem [PS]

[CLRS 35]

Thurs, Dec 6

Exam on Network flows, Dynamic Programming and Algebraic Algorithms

 

Time to be determined

PLEASE DOUBLE-CHECK THE EXAM DATE AND TIME WITH REGISTRAR

Final Exam

 

 

Color codes and initials for credits for lecture notes:


Course textbook:


Other references made available:

 


Last Modified: Thursday, 02-Aug-2007 08:13:45 EDT