算法的设计与分析是计算机科学的核心问题之一。算法涉及的范围十分广泛,不论是从事计算机硬件设计,还是从事计算机软件设计,都需要认真研究算法。该课程系统地介绍计算机算法的设计方法与分析技巧,通过课程学习,为独立地设计算法和对算法进行分析奠定坚实的知识基础,对从事计算机软件和计算机应用的研究者来说是非常重要和必不可少的。
课程任务:通过学习该课程,使学生在知识方面要求: 掌握算法的定义及基本概念、计算模型和复杂度的衡量;为分析算法的复杂性做准备,要了解相应的数学知识;掌握算法设计的过程和方法;掌握算法的时间复杂度、空间复杂度和稳定性的分析;具有问题抽象和建模的初步能力。在能力方面要求:通过本课程的学习,学生要掌握几种常用的算法设计策略,包括递归与分治策略、动态规划算法、贪心算法、回溯法、分支限界法概率算法,并会分析算法的效率,能够用所学方法解决实际问题。算法设计与分析能够有效锻炼学生的逻辑思维能力和想象力,更重要的是培养学生的创造性思维能力;培养学生在理论的指导下,分析、解决实际问题的能力。这正是计算机科学与技术专业培养目标的核心所在。