本课程主要介绍算法设计与分析的基本方法以及算法复杂性理论基础。通过本课程的学习,要求学生理解并熟练掌握递归与分治法、贪心法、动态规划方法、回溯法、分支定界法,以及高级图论算法、线性规划算法等,理解并掌握算法复杂性的分析方法、NP完全性理论基础等计算复杂性的基本知识及完备性证明概要。
通过学习各种数据结构的逻辑结构和存储结构的定义和实现、各种数据结构的基本操作的实现、各种数据结构的复杂操作算法、各种算法的时间复杂度和空间复杂度的分析方法,使学生掌握扎实的专业基础理论知识和从事计算机工程的计算思维能力。
平时测验10%,分组讨论10%,实验报告20%,期末闭卷考试60%。
高等数学或数学分析、线性代数或高等代数、概率论与数理统计、离散数学(含图论、集合论、近世代数、数理逻辑基础)、数据结构
《算法设计与分析》,张德富,高等教育出版社,2009
《算法竞赛入门经典(第2版)》,刘汝佳,清华大学出版社,2014
《Introduction to Algorithms》,The MIT Press,2001