算法导论作为计算机科学与技术专业的专业主干课程,先修课程是高级语言程序设计、数据结构,主要讲授经典算法,包括递归与分治算法、动态规划算法、贪心算法、回溯算法、分支界限算法的基本原理、实现方法和应用实例,通过该课程的学习,使学生熟悉算法复杂性分析理论和评价算法性能的标准,掌握基本的算法设计方法,能运用一些常用算法去分析和解决实际问题,具有较强的问题抽象和建模的能力,为学生进一步分析和解决计算机科学与技术领域的复杂工程问题奠定良好的基础。
算法导论课程的教学目标有两个:
1)能够针对待解决的具体问题,在满足问题约束条件的前提下,分析多种解决方案在时间、空间复杂度及算法效率上的优劣,选择合理的算法进行解决。
2)能够结合具体应用案例,合理选择经典算法,并能在此基础上设计出复杂算法,使之针对具体应用能够高效地存储和处理数据,并对算法进行有效分析和评价。
通过对分治和递归、动态规划、贪心算法、回溯法和分枝限定法等典型算法的学习,使学习者能运用所学算法知识,根据不同问题的特点选择合适的策略去解决,为从事计算机科学理论研究和软件开发奠定扎实的算法知识基础。
预备知识为数据结构和高级语言程序设计
1王晓东编,计算机算法设计与分析(第5版),电子工业出版社,2018年
2 Thomas H. Cormen等著,潘金贵等译,算法导论,机械工业出版社
3 R.C.T.Lee等著,王卫东译,算法设计与分析导论,机械工业出版社