算法是计算机软件的核心和灵魂,而算法分析与设计是关于算法的方法论、是计算机软件设计的基础,其研究分为两个方面:(1) 分析算法的基本规律和原理;(2) 软件开发中经常遇到的实际问题的解法。
本课程延续数据结构课程的学习,较系统地讲述算法的基本概念,各种常见的算法,对算法的时间、空间和其它方面进行度量分析等几个方面。主要内容包括如下几个部分:算法设计的理论基础,递归分析技术,概率分析算法,动态规划算法、贪心算法、多项式运算与 FFT、计算几何基础、数论基础、NP问题等。通过这一课程的学习,使学生能对现代的算法设计及分析的基本技术有较全面的了解和掌握,从而提高程序设计能力,进一步打好专业基础,提高计算机理论和应用水平。