This course covers a variety of algorithms and algorithmic patterns. It focuses on developing an understanding of the internal algorithmic structure and common properties of the algorithms. Topics include divide-and-conquer, dynamic programming, greedy algorithms, incremental improvement, and computational complexity.
Prerequisites
None