spacer
spacer spacer spacer spacer spacer spacer spacer spacer spacer
spacer spacerPublic home pagespacer spacer spacerLocal home pagespacer spacer spacerHow to contact usspacer spacer spacerSearchspacer spacer
spacer spacer spacer spacer spacer spacer spacer spacer spacer
spacer
spacer

CMSC 651: Advanced Algorithms

Catalog Description:

Techniques for the design and analysis of algorithms and data structures. Study of efficient algorithms from areas such as graph theory, networks, pattern matching, geometry, integer and polynomial arithmetic. Understanding of the inherent complexity of problems: polynomial time, NP-completeness and approximation algorithms.

The following broad aims will be attempted.

Prerequisites:

CMSC 451 or an equivalent course.

Topics:

The topics listed below give a general idea about the course content.
  1. Advanced Data Structures (splay trees, F-heaps, union-find, amortized analysis).
  2. Graph Algorithms (minimum spanning trees, shortest paths, light approximate shortest path trees, spanners, flows, matchings). .
  3. NP-completeness (Cook's theorem, reductions).
  4. Approximation Algorithms (set cover, vertex cover, bin packing, traveling salesman, optimal location problems).

Texts:

We use the first text only for the advanced data structures part of the course. We will cover a lot of material from Tarjan's book, as well as from research papers.

Course Work:

Course work will consist of homework assignments (approximately 6), one in-class midterm and a comprehensive final. Homework problems will be mathematically oriented.

Grading:

Homeworks: 30%
Midterm: 30%
Final: 40%