Description
Introduction to the study of algorithms. Strategies such as divide-and-conquer, greedy methods, and dynamic programming. Models of computation, design of efficient algorithms, techniques for analysis of algorithm performance, verification of algorithm correctness, some practical algorithms and their complexity.