演算法概論 (含演算法概論實習)
Introduction to Computer Algorithms (including Computer Algorithms Lab.)

劉瑞瓏
Rey-Long Liu

2016/2/16

 

 

Goal:

Learning the fundamentals of computer algorithms, including the design of algorithms (and their basic analysis), as well as the implementation of the algorithms to observe their performance.


Prerequisite:

Programming and data structure.


Content:

[Part I: Introduction]

[1] Problems & goals of algorithms

[2] Design & analysis of algorithms

[3] Graph & algorithms

[Part II: Popular Algorithmic Strategies]

[4] Greedy algorithms (I)

[5] Greedy algorithms (II)

[6] Divide-and-Conquer algorithms (I)

[7] Divide-and-Conquer algorithms (II)

[8] Dynamic programming algorithms (I)

[9] Midterm Examination

[10] Dynamic programming algorithms (II)

[11] Network flow algorithms (I)

[12] Network flow algorithms (II)

[13] Randomized algorithms (I)

[14] Randomized algorithms (II)

[Part III: Dealing with Computational Intractability]

[15] Computational tractability

[16] Approximation algorithms

[17] Local search algorithms

[18]  Final Examination

 

Grading:

1. (30%) Program implementation

2. (20%)  Team Report  (for case study)

3. (25%) Midterm examination

4. (25%) Final examination

 

Textbook:

[1] Kleinberg J. and Tardos E., 2014, Algorithm Design, Pearson Education.

 

Back to Teaching