In this course, one learns how to design efficient algorithms and becomes familiar with common real-world algorithms. Examples include algorithms for sorting, data compression, finding a shortest path, and more. The course includes algorithm techniques such as divide-and-conquer, greedy algorithms, and dynamic programming. The course also goes over common data structures that algorithms rely on.
Apply to this course