COMP 372: Design and Analysis of Algorithms (Revision 2) Report a Broken Link

Computer Science 372: Design and Analysis of Algorithms introduces the fundamental techniques for designing and analyzing algorithms.

Unit 1: Foundations


Section 1: Problems
Section 2: Complexity and Analysis
Section 3: Asymptotics

Unit 2: Divide-and-Conquer Algorithms


Section 1: Simple Divide-and-Conquer Method
Section 2: Methods for Solving Recurrences

Unit 3: Dynamic Programming and Greedy Algorithms


Section 1: Dynamic Programming
Section 2: Greedy Algorithms

Unit 4: Elementary Graph Algorithms


Section 1: Graph Algorithms

Unit 5: Number-Theoretic Algorithms


Section 1: Concepts of Number Theory
Section 2: Euclid's Algorithm
Section 3: Modular Algorithms and Solving Modular Linear Equations
Section 4: Chinese Remainder Theorem and Powers of an Element
Section 5: RSA Public-Key Cryptosystem

Unit 6: NP-Completeness


Section 1: P ≠ NP Question
Section 2: NP-Completeness

Unit 7: Approximation Algorithms