The following are the lecture sketches and the corresponding sections in the textbook. These are usually not detailed notes, so you should take notes in class.
The lecture sketches are primarily in pdf format. You should have acrobat reader installed on your system to view them.
Note: Some of the URLs might require access within the HKUST domain or offsite using HKUST authentication.
Lecture sketches might be modified to correct errors or add information. All major changes will be documented in the Revision Log.
Chapter Reference & Other Sources | |
Class Intro Introduction to Analysis of Algorithms Landscape Version Maximum Contiguous Subarray Problem | Bentley Chapter 8 |
Heapsort Slides Handout Quicksort Slides Handout Mergesort Notes Sorting Lower Bound & Radix Sort Slides Handout | CLRS Chapters 6, 7 Original Source for Heapsort CLRS Chapter 8 |
A Quick (Re)Introduction to Binary Search Trees AVL Trees Slides Handout | CLRS Chapter 12 A Nice AVL Visualization Applet |
Randomized Quicksort & Selection Slides Handout Randomized Selection Example | DPV Chapter 2.4 |
Divide & Conquer Intro and Polynomial Multiplication Slides Handout Deterministic Selection Notes Worked Example FFTs and Polynomial Multiplication | No reference, but DPV p.52 has simliar algorithn for integer multiplication CLRS Chapter 9.3 DPV p. 64+, CLRS Chapter 30 |
Alternate Greedy Algorithms & Fractional Knapsack Slides Handout (untaught) Greedy Algorithm Slides (taught) PDF PPT Huffman Coding Slides Handout | DPV Chapter 5.2, CLRS Chapter 16.3 |
Introduction to Graphs Slides Handout Breadth First Search Slides Handout Depth First Search Slides Handout Articulation Points Notes Topological Sort Slides Handout | DPV Chapter 3, CLRS Chapter 22 |
Dijkstra's Shortest Path Algorithm Slides MSTs and Prim's Algorithm Slides Handout Dikstra vs Prim: A Worked Example Kruskal's Algorithm Slides Union-Find Slides Handout | DPV Chapter 4.4, CLRS Chapter 24.3 |
Introduction to Dynamic Programming Slides Handout Chain Matrix Multiplication Slides Handout Dynamic Programming Over Intervals Slides Handout Longest Common Subsequence Slides Handout All-Pairs Shortest Paths Slides Handout DP Odds and Ends Notes Sketch_Slides | DPV Chapter 6, CLRS Chapter 15 The Original Paper on Saving Space for LCS |
Max-Flow
Slides Handout More Max Flow Applications Handout | CLRS Chapter 26 & DPV Chapter 7.2 |
Hashing
Slides Linearity of Expectation Review Slides | CLRS Chapter 11 |
Closest
Pairs
Slides Randomized Primality Testing Slides Stable Marriage (Optional) Slides | DPV Chapter 1, CLRS Chapter 31 |