This course aims to give a systematic introduction to data structures and algorithms for constructing efficient computer programs. Emphasis is on data abstraction issues in program development process, and on the design of efficient algorithms. Simple algorithmic paradigms such as greedy algorithms, divide-and-conquer algorithms and dynamic programming will be introduced. Elementary analyses of algorithmic complexities will also be taught.
Contents: Introduction. Principles of algorithm analysis. Data structures. Search Trees. Sorting. Searching. Algorithm design techniques.
There are no reviews yet.