算法导论作为计算机科学与技术专业的专业主干课程,先修课程是高级语言程序设计、数据结构,主要讲授经典算法,包括递归与分治算法、动态规划算法、贪心算法、回溯算法、分支界限算法的基本原理、实现方法和应用实例,通过该课程的学习,使学生熟悉算法复杂性分析理论和评价算法性能的标准,掌握基本的算法设计方法,能运用一些常用算法去分析和解决实际问题,具有较强的问题抽象和建模的能力,为学生进一步分析和解决计算机科学与技术领域的复杂工程问题奠定良好的基础。
算法导论课程的教学目标有两个:
1)能够针对待解决的具体问题,在满足问题约束条件的前提下,分析多种解决方案在时间、空间复杂度及算法效率上的优劣,选择合理的算法进行解决。
2)能够结合具体应用案例,合理选择经典算法,并能在此基础上设计出复杂算法,使之针对具体应用能够高效地存储和处理数据,并对算法进行有效分析和评价。
采取百分制,60分-79分可申请合格证书,80分以上可申请优秀证书,成绩达到相应要求即可申请证书。
先修课程为数据结构和高级语言程序设计
理解并掌握算法复杂性分析的基本方法
课时
理解递归的概念,掌握设计有效算法的分治策略,通过范例学习分治策略的设计技巧
课时
掌握动态规划算法的基本要素,掌握设计动态规划算法的步骤,通过应用范例学习动态规划算法设计策略
课时
理解并掌握使用贪心策略设计算法的方法
课时
理解回溯法的深度优先搜索策略,掌握用回溯法解题的算法框架:子集树算法框架、排列树算法框架,通过应用范例学习回溯法的设计策略
课时
理解分支限界法的剪枝搜索策略,掌握分支限界法的算法框架:队列式(FIFO)分支限界法、优先队列式分支限界法,通过应用范例学习分支限界法的设计策略
课时
1王晓东编,计算机算法设计与分析(第5版),电子工业出版社,2018年
2 Thomas H. Cormen等著,潘金贵等译,算法导论,机械工业出版社
3 R.C.T.Lee等著,王卫东译,算法设计与分析导论,机械工业出版社