Introduction to Algorithms
Design and analysis of efficient algorithms for important computational problems. Emphasis on the relationships between algorithms and data structures, measures of algorithmic efficiency, reasoning about correctness. Graph algorithms, design strategies (greedy, divide and conquer, dynamic programming), intractability. Use of computer required.