Course Topics  Basic Algorithms


Algorithmic Design Paradigms
Recursion
Dynamic Programming
Depth-First-Search
Breadth-First-Search
The Greedy Method
Divide-and-Conquer
Sorting- and Selection-based processing
Randomization
Algorithm Redesign and Adaptation
Problem Transformations

The Analysis of Algorithmic Performance
Asymptotic Growth
Recurrence Equations
Solving Recurrence Equations: The Recursion Tree Method
Probabilistic Analysis
Structural Analysis
Lower Bounds

Data Structures: Managing Data for Efficient Processing
These you should already know: Lists, Stacks, Queues, Priority Queues, Trees 
Graphs
Search Trees and their Enhancement
Hashing
Union-Find

Selected Representative Algorithms/Problem
Representative styles of Dynamic Programming and their applications
Connected Components
Biconnected Components and Strong Components
Standard Sorting and Selection Algorithms
Minimum Spanning Trees
Shortest Path Problems
Topological Sort


Last modified: November 16, 2013