WILLIAM T. DOAN
The notes herewith are derived from the lecture notes of
Dr. Ding-Zhu Du as presented in his
CS 6363: Design and Analysis of Computer Algorithms course given in the
Spring semester of 2026. The textbook for this course is Introduction to Algorithms (3rd edition)
by T.H. Corman, C.E. Leiserson, R.L. Rivest and C. Stein.
Table of Contents
Algorithms with Self-Reduction
Sorting and Divide and Conquer
Introduction
Sorting
Sorting and Selection
Divide and Conquer
Shortest Path and Dynamic Programming
Dynamic Programming
Shortest Path
Dijkstra's Algorithm
Priority-Queues and an Implementation of Dijkstra's Algorithm
All Pairs Shortest Paths
Minimum Spanning Tree and Greedy Algorithms
The Greedy Strategy
Spanning Trees
Matroids
Self-Reducibility
The Incremental Method
Network Flows and the Incremental Method
The Ford-Fulkerson Method
The Edmonds-Karp Algorithm
Maximum Matchings
Pre-flow Pushing
Minimum Cost Flows
Complexity and Approximation
NP-hard Problems and Approximation Algorithms
What is NP?
NP-Complete Problems
Vertex Cover and the Hamiltonian Cycle
The Partition and Knapsack Problems
3D-Matching and Set Cover
Planar 3SAT
Linear Programming and the Primal-Dual Method
Linear Programming
The Primal-Dual Method
Label Correcting
Algorithms with Self-Reduction
Sorting and Divide and Conquer
Introduction
Sorting
Sorting and Selection
Divide and Conquer
Shortest Path and Dynamic Programming
Dynamic Programming
Shortest Path
Dijkstra's Algorithm
Priority-Queues and an Implementation of Dijkstra's Algorithm
All Pairs Shortest Paths
Minimum Spanning Tree and Greedy Algorithms
The Greedy Strategy
Spanning Trees
Matroids
Self-Reducibility
The Incremental Method
Network Flows and the Incremental Method
The Ford-Fulkerson Method
The Edmonds-Karp Algorithm
Maximum Matchings
Pre-flow Pushing
Minimum Cost Flows
Complexity and Approximation
NP-hard Problems and Approximation Algorithms
What is NP?
NP-Complete Problems
Vertex Cover and the Hamiltonian Cycle
The Partition and Knapsack Problems
3D-Matching and Set Cover
Planar 3SAT
Linear Programming and the Primal-Dual Method
Linear Programming
The Primal-Dual Method
Label Correcting