《算法设计与分析》是计算机学科的重点专业基础课程,也是学科核心专业基础课程。本课程主要介绍算法设计与分析的基本方法以及算法复杂性理论基础。
本课程主要介绍算法设计与分析的基本方法以及算法复杂性理论基础。通过本课程的学习,要求学生理解并熟练掌握递归与分治法、贪心法、动态规划方法、回溯法、分支限界法,以及高级图论算法、线性规划算法等,理解并掌握算法复杂性的分析方法、NP完全性理论基础等计算复杂性的基本知识及完备性证明概要。本节课程设计内容选自该课程第六章——深度优先算法。
课程分层目标:
目标1:能够对复杂软件中设计的递归算法、非递归算法的时间复杂度进行数学描述及分析,并能选择合适的渐进符号进行表达。
目标2:理解精确算法、近似算法、算法正确性证明、算法时间复杂性、空间复杂性、算法时间渐进表示等算法时间复杂的分析的概念和符号,能使用标准伪代码对软件工程中的算法进行表达。
目标3:理解分治法、变治法、减治法、时空权衡、动态规划、贪婪策略、迭代改进、分支限界、回溯法等算法设计策略的基本原理及特点,对软件开发中的特定问题,能形式化描述问题,并能选择合适的设计策略进行算法设计与实现,说明算法的正确性,计算算法的时间复杂度,并进行复杂性讨论。
本课程进行了课程的讲解中融入了课程思政元素,从各个应用领域的大量实际问题出发,分析问题的性质,建立合理的数学模型,选择合适的数据结构,设计结构清晰、正确高效的算法解决之,分析比较算法的性能以及提高算法性能的技巧,培养初步的算法设计与分析能力,培养计算思维和分析解决实际问题的能力,提高学生的科研素质和创新能力。通过实验实践进一步培养算法实现、调试测试和结果分析的基本能力,强化专业核心意识和职业素养,为学习其他专业课奠定扎实的基础。为计算机专业智能时代培养出更多高质量的具备算法设计理念能力的应用型人才。