COMPSCI 531 Introduction to Algorithms

Lectures -  Teaching Assistants - Resources

 

Lecture Schedule and Notes

 

Date

Topics and Lecture Notes

(Required Readings and Lectures in Bold)
(See below for parenthesis for credits for lecture notes)

Required Readings in Bold (from [CLRS] unless otherwise noted)

Tues, Aug 18

Zoom Lecture 1 by Prof John Reif

(Assignment of HM1: Asymptotic Notation and Recurrence)

 

 

Overview of the course: Introduction to Algorithms:
(JR) 
Computing Fibonacci Numbers [PDF]

 

Optional Notes:

 (SS) analyzing algorithms

(JR) Models of Computation [PDF]
(LA) 
Introduction to Algorithms
(SS) 
Algorithm Design

[CLRS 1 & 2], [DPV 0]

 

Optional:
[GKP 1.1-1.2]

Wends, Aug 19

Zoom Review by TA Xin Song

Introduction Recitation:  (DF) Intro [PDF]

Math review, LaTeX, Average Case Analysis Insertion Sort and Mergesort

[CLRS 3], [DPV 0]

Thurs, Aug 20

Zoom Lecture 2 by Prof John Reif

Asymptotic Analysis:
(DL) 
Asymptotic analysis - Worst case/average case - Insertion sort - Merge Sort

(JR) Asymptotics and Recurrence Equations [PDF]

 

Optional Notes on Asymptotic Analysis:
(SS) 
asymptotic notation

(LA) Growth of functions, summations

[CLRS 3], [DPV 0]

Optional:
[CLRS App. A]

[GKP 2.5]

 

Tues, Aug 25

Zoom Lecture 3 by Prof John Reif

 

Recurrence Equations:
(DL) 
Solving recurrences - substitution method - recursion tree - master method

(JR) Asymptotics and Recurrence Equations [PDF]

 

 Optional Notes on Recurrence Equations:

(SS) recurrence relations
(SS) 
Example Problems
(SS) 
More Example Problems

[CLRS 4.3-4.6], [DPV 2.2]

Optional:
[CLRS 28.1-28.2]

Wends, Aug 26

Zoom Review by TA Xin Song

(HM1 11:55pm tonight)

(Assignment of HM2)

Divide and Conquer:  A Case Study in Strassen’s Matrix Multiplication Algorithm

(BF) Matrix Multiplication  

 

[CLRS 4.1-4.2], [DPV 2]

 (review Strassen’s algorithm)

Thurs, Aug 27

Zoom Lecture 4 by Prof John Reif

 

Divide and Conquer:

(DL) Divide and Conquer 

Merge sort, binary search, powering a number, polynomial multiplication, matrix multiplication, Fibonacci

(BF) Matrix Multiplication via Divide and Conquer

 

Optional Notes on Divide and Conquer:

(LA) Strassen's algorithm, Master method for recurrence

[CLRS 4.1-4.2], [DPV 2]

Tues, Sept 1

Zoom Lecture 5 by Prof John Reif

 

 

 

Sorting Algorithms:

(DL) Linear time sorting

Lower bounds on comparison-based sort, decision-tree model, comparison sort, radix sort

 

Optional Notes on Linear Sorting:

(SS) Linear Sorting

 

Optional Notes on Lower Bounds on Sorting:

(LA) Lower bound in decision tree model, bucket and radix sort
(SS) 
Examples of Sorting Lower Bounds

Optional Notes on Priority Queues:
(LA) 
Heaps and heapsort

(SS) Heapsort
(SS) 
Example heap problems

[CLRS 8]

Optional:
[Baase, 3.4]

Wends, Sept 2

Zoom with TA Xin Song

 

 

Quiz on Asymptotic Notation and Recurrences

 

Thurs, Sept 3

 Zoom Lecture 6 by Prof John Reif

Search Trees:
(SS) 
Binary Search trees
(DL) 
Binary search trees and Red-Black Trees

Binary search trees - Balanced BSTs - Red-Black trees

 

Optional Notes on Search Trees:

(DL) Binary search trees - Expected Height Randomly Build Binary search trees
(SS) 
Red-Black trees
(SS) 
Red-Black tree Rotation, Insertion, Deletion

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

 

Optional: Skip Lists:

 (DL) Skip Lists Randomized Insertion & Analysis

Further Dynamic Data Structures (to be presented by TA in Recitation):

 (DL) Augmenting Data Structures Dynamic Order Statistics, Interval Trees

 Optional Notes on Skip Lists:

(LA) Hashing, Skip Lists

[CLRS 12 & 13]

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

 

*Tues, Sept 8

Zoom Lecture 7 by Prof John Reif

Randomized Algorithms and Quicksort:

(PI) Randomized Algorithms and QuickSort

Randomized algorithms: Monte-Carlo vs. Las-Vegas; matrix product checker; quick sort: deterministic, randomized; indicator variables, expected running time.  

(JR) Probability Tail Bounds

 

Optional Notes on Quicksort:

(LA) Quicksort
(SS) 
Introduction to Quicksort
(SS) 
Applications of Sorting
(ML) Sorting
(ML) Analysis of Quicksort
(JR) 
Randomized Algorithms for Selection and Sorting [PDF]
(SS) 
Selection Sort
(SS) 
Examples of Quicksort Analysis

 

Optional Notes on Randomized and Average-Case Analysis:
(EU) 
Probabilistic Algorithms
(JR) 
Probability Theory [PDF]

Optional Notes on Hidden Markov Models:

(PI) Hidden Markov Models I Markov Chains, Hidden Markov Models, Dishonest Casino Example, Evaluating path emissions likelihood, Max-likelihood path and Viterbi algorithm, total emissions probability and forward algorithm.

(PI) Hidden Markov Models II Algorithms for HMMs: review of evaluation, Viterbi, forward; posterior decoding; supervised learning; unsupervised learning: viterbi training and baum-welch training.

(PI) Computational Biology: Regulatory Motif Discovery  Bio intro: DNA and the dynamic cell, Regulatory motif definitions, Combinatorial formulation: median string finding, Probabilistic formulation: expectation maximization and Gibbs sampling, comparative genomics and discovery by genome-wide conservation.

 [CLRS 7]

Wends, Sept 9

Zoom Review by TA Xin Song

(HM2 11:55pm tonight)

(Assignment of HM3)

 

 

Thurs, Sept 10

Zoom Lecture 8 by Prof John Reif

 

 

Selection Algorithms:
(DL) 
Order Statistics, Median Select 

Finding ith smallest element, probabilistic order statistic finder, deterministic linear-time select

 

Optional Notes on Selection:

(LA) Linear time selection, median lower bound
(JR) 
Deterministic Selection and Sorting [PDF] 
(EU) 
Median and Order Statistics

 [CLRS 9]
Optional:
[Baase, 3.4]

Tues, Sept 15

Zoom Lecture 9 by Prof John Reif

 

 

Introduction to Hashing:

(DL) Hashing I Simple uniform hashing, open addressing

(BF) Consistent Hashing

 

Optional Notes Introducing Hashing:

(SS) Introduction to Hash Tables

 

Optional References on Consistent Hashing: 

(TR&GV) Consistent Hashing  

(David Karger, et al.) Akamai Consistent Hashing Paper  

[CLRS 11]
Optional:
[Kozen, 12]

Wends, Sept 16

Zoom Review by TA Xin Song

 

 

 

Thurs, Oct 17

Zoom Lecture 10 by Prof John Reif

 

 

 

Universal Hashing:

(DL) Hashing II Universal hashing, perfect hashing

 

Optional Notes on Universal Hashing and Extensions:

(EU) Universal Hashing

(SS) elementary data structures

(JR) Universal Hash Functions

(JR) Hashing Polynomials

[CLRS 11]
Optional:
[Kozen, 12]

Tues, Sept 22

Zoom Lecture 11 by Prof John Reif

 

Computational Geometry

(PI) Closest Pair in 2D 

(PI) Computational Geometry - Segment Intersection 

 

Optional Reading for Locality Sensitive Hashing: 

(BF) Locality Sensitive Hashing: Approximate Nearest Neighbor in High Dimension 

(Alexander Andoni and PI) Survey Article from Communications of the ACM  

(KM) Locality Sensitive Hashing  

(TR&GV) Dimensionality Reduction

[CLRS 33]

Wends, Sept 23

Zoom Review by TA Xin Song

(HM3 11:55pm tonight)

(Assignment of HM4)

 

 

Thurs, Sept 24

Zoom Lecture 12 by Prof John Reif

 

Computational Geometry, Cont:

(JRJ) Convex Hull [PPT] [PDF]

[CLRS 33]

Tues, Sept 29

 Zoom Lecture 13 by Prof John Reif

 

 Amortized Analysis:

(DL) Amortized Analysis I Dynamic Tables, Accounting and Potential Methods

(EU) Amortized Analysis

 

Optional Notes on Amortized Analysis:

(PI) Amortized Analysis II  Find-union data structure - amortized analysis
(DS) 
Amortized Analysis 
(LA) 
Aggregate analysis, potential method, binary counter, dynamic table

(DL) Competitive Analysis Self-Organizing Lists

[CLRS 17]

Wends, Sept 30

Zoom with TA Xin Song

 

Midterm Exam (Sorting, Searching, Hashing, Randomized Analysis)

 

Thurs, Oct 1

Zoom Lecture 14 by Prof John Reif

 

Fast Fourier Transform and Polynomial Algorithms
(EU) 
Polynomials and the Fast Fourier Transform

(PI) Fast Fourier Transform Fast Fourier Transform - Polynomial multiplication

 

Optional Notes on Fast Fourier Transform and Polynomial Algorithms:\
(JR) 
FFT and Multiplication [PDF]
(JR) 
Polynomial Computation [PDF]

[CLRS 30], [DPV 2.5,2.6]

Tues, Oct 6

Zoom Lecture 15 by Prof John Reif

 

 

Number Theory and Cryptography Algorithms: 
(LY) Introduction to Cryptography

(EU) Public Key Cryptography and Number Theory Algorithms 

 

Optional Notes on Cryptography:

 (BF) Bit-Coin and Cryptographic Hashing
(JR) 
Number Theory and Cryptography Algorithms [PDF]

 [CLRS 31]

Tues, Oct 7

Zoom Review by TA Xin Song

(HM4 11:55pm tonight)

(Assignment of HM5)

 

 

Thurs, Oct 8

Zoom Lecture 16 by Prof John Reif

 

Pattern Matching:

(PI)Randomized Pattern Matching Pattern matching - average case analysis - Karp-Rabin algorithm – fingerprinting

 

Optional Notes on Pattern Matching:

(JR) Randomized Pattern Matching 

[CLRS 32]

Tues, Oct 13

Zoom Lecture 17 by Prof John Reif

 

Introduction to Graphs and Their Data Structures:

(SS) Data structures for graphs 
(SS) 
DFS and BFS 
 

Optional Notes on Graph Definitions:

(EU) Formal Graph Definitions 
 

Optional Notes on Depth First Search

(LA) Model, basic algorithms, DFS, BFS, topological sort, strongly connected components 
(SS) 
DFS and BFS 

 

[CLRS 22], [DPV 3]

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

Wends, Oct 14

Zoom Review by TA Xin Song

 

 

 

Thurs, Oct 15

Zoom Lecture 18 by Prof John Reif

Introduction to Graph Algorithms (Depth First Search):

(JR) Graph Algorithms using Depth First Search [PDF]
 

 

Optional Notes on Depth First Search

(LA) Model, basic algorithms, DFS, BFS, topological sort, strongly connected components 
(SS) 
DFS and BFS 

[CLRS 22], [DPV 3]

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

Tues, Oct 20

Zoom Lecture 19 by Prof John Reif

 

(DL) Greedy Algorithms (and Graphs)

(LA) Minimum spanning trees, Union-Find 
Minimum spanning tree (MST), greedy algorithms, hallmarks of Greedy vs. Dynamic Programming, Proof of optimal substructure and greedy property, Prim's algorithm, Kruskal's algorithm.

 

Optional Notes:

(EU) Minimum Weights Spanning Tree
(EU) 
Data Structures for Disjoint Sets
(SS) 
Minimum Spanning Trees

[CLRS 16.0-16.3 & 23], [DPV 5]

Tues, Oct 21

Zoom Review by TA Xin Song

(HM5 11:55pm tonight)

(Assignment of HM6)

Lossless Compression: Huffman Encoding 

(BF) Huffman Encoding     

 

Optional Notes on Lossless Encoding: 

(KM) Data Compression and Entropy

 

Thurs, Oct 22

Zoom Lecture 20 by Prof John Reif

 

Graph algorithms (Single Source Shortest Paths):
(DL) 
Shortest Paths I Properties of shortest paths, optimal substructure, greedy choice property for non-negative edge weights, Dijkstra's algorithm, proof and analysis, Breadth-First Search (BFS) for unit-weight unweighted graphs.

Multiple Source Shortest Paths:

(DL) Shortest Paths II  Negative weights and lack of greedy-choice property; Bellman-Ford.

(DL) All Pair Shortest Paths  All-pairs shortest paths and dynamic programming, matrix multiplication, Floyd-Warshall; Johnson's algorithm, graph reweighing and difference constraints.

 

Optional Notes on Shortest Paths:

Further Shortest Paths Algorithms:

(EU) All-pairs Shortest Paths

Shortest Paths Algorithms for Graphs with Negative Weights:

 (LA) Shortest paths 
(SS) 
Shortest path algorithms
(EU) 
Shortest Paths Problems
(EU) 
Bellman-Ford Algorithm

[CLRS 24],  [CLRS 25] , [DPV 4]

 

 

 

 

Tues, Oct 27

Zoom Lecture 21 by Prof John Reif

 

 Augmenting Paths (Graph Matching):
(JR) 
Breadth-First Search of Graphs and Matching  [PDF]

Optional Notes on Graph Matching:
(EU) 
Matching

Optional Notes on Network flow: (further application of augmenting paths)

(PI) Network Flows I Network flows - max flow - cut - residual graph - augmenting paths

Further Flow Algorithms (to be presented in Recitation):

(PI) Network Flows II Network flows - Ford-Fulkerson algorithm - Edmonds-Karp Algorithm

Further Optional Notes on Network Flows: (JR) Flow Algorithms [PDF]

[CLRS 22.1-22.2], [DPV 7.3]

 

 

 

 

 

Optional reading:

[CLRS 26.1-26.2], [DPV 7.2]

Wends, Oct 28

Zoom with Xin Song

Exam (Computational Geometry, Amortized Analysis, FFT, Cryptography, Pattern Matching)

 

Thurs, Oct 29

Zoom Lecture 22 by Prof John Reif

 

(DL) Dynamic Programming: Dynamic Programming Hallmarks; Overlapping subproblems, Re-use of computation, Bottom-Up; Longest Common Subsequence, recursive formulation, proof of optimal substructure, traceback

(LA) Dynamic Programming, Matrix chain multiplication 

 

Optional Notes:
(SS) 
Introduction to Dynamic Programming 
(SS) 
Dynamic Programming applications
(EU) 
Dynamic Programming
(SS) 
Example dynamic programming problem

 [CLRS15], [DPV 6]

Tues, Nov 3

Zoom Lecture 23 by Prof John Reif

 

 

Combinatorial Search Problems:

Approximation Algorithms for NP Search Problems:

(LA) Approximation Algorithms

(PI) NP Search Problems and Approximation Algorithms

 

Optional Notes on Approximation Algorithms
(EU) 
Approximately Correct Algorithms
(SS) 
Approximation Algorithms and Cook's Theorem 

[CLRS 34 & 35], [DPV 8]

Wends, Nov 4

Zoom Review by TA Dan Fu

(HM6 11:55pm tonight)

(Assignment of HM7)

(PI) NP - Reductions   

(Pearsaul) NP and NP Completeness

 

 

Thurs, Nov 5

Zoom Lecture 24 by Prof John Reif

 

 

Algorithms for Big Data, I: External Memory Algorithms:

(LA) Model, basic upper and lower bounds, sorting, B-tree

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

 [CLRS 16.3], [DPV 5.2]

 

 

Tues, Nov 10

Zoom Lecture 25 by Prof John Reif

 

Algorithms Applied to WWW, I: PageRank

(BF) Measuring Web Graph Centrality: The PageRank Algorithm

 

Optional Lectures on Algorithms Applied to WWW: Spectral Graph Algorithms:

(BF) Intro to Spectral Techniques: Graphs and Eigenvalues

(BF) Spectral Clustering in Graphs

 

 

 

[CLRS 18]

Weds, Nov 11

Zoom Review by TA Xin Song

 

Late Term Exam (Graph Algorithms, Greedy Algorithms, Matching, Dynamic Programming, Approximation Algorithms)

 

Thurs, Nov 12

Zoom Lecture 26 by Prof John Reif

 

Algorithms for Big Data, II:  Streaming Algorithms: Bloom Filters and Counting Distinct Elements

(MG) Intro to Streaming Algorithms [PPT] [PDF] 

(BF) Streaming Algorithms: CountMin-Sketch

 

Optional Lectures on Streaming Algorithms

(RJ) Streaming Algorithms Overview [PPT] [PDF] 

 

 

 

Wends, Nov 18

Zoom Review by TA Xin Song

(HM7 11:55pm tonight)

Final Exam Review

Notes on Final Exam Review (read before you take the final exam):

(BF) Final Exam Review

 

Sunday, Nov 22

7:00 PM – 10:00 PM

FINAL EXAM (see schedule of final exams for TTH, Period 3)

 

Credits for lecture notes:

Course textbooks:

Other references made available: