News

It covers basic algorithm design techniques such as divide and conquer, dynamic programming, and greedy algorithms. It concludes with a brief introduction to intractability (NP-completeness) .
Introduction to programming in Python. Introduction to the theory of algorithms: running time and correctness of an algorithm. Recursion. Data structures: arrays, linked lists, stacks, queues, binary ...