CMSC 351 ALGORITHMS
Catalog Description
A systematic
study of the complexity of some elementary algorithms
related to sorting, graphs and trees, and combinatorics.
Algorithms are analyzed using mathematical techniques
to solve recurrences and summations.
Prerequisite
CMSC 214, CMSC 250.
Text
Thomas Cormen, Charles Leiserson, Ron Rivest,
Introduction to Algorithms, McGraw Hill and MIT Press, 1990.
Topics
- Order Notation
- Recurrences (of the type they use to analysis algorithms)
- Divide-and-Conquer algorithms (integer mult and/or matrix mult)
- Graph Algorithms (Dijkstra's algorithm, shortest path)
- Combinatorics and Probability
- Sorting
- Overview of Data Structures (Heaps, Union-Find)
- Brief Intro to NP-Completeness
- Optional: Libraries of Data Structures like LEDA, etc.
Typical Grading and Workload
- 30% - Homeworks and/or programming projects
- 30% - 2 Midterm exams
- 40% - Final exam