



定价:32元
印次:1-6
ISBN:9787302108948
出版日期:2005.06.01
印刷日期:2010.06.10
图书责编:邓艳
图书分类:教材
本书系统地介绍算法设计与分析的概念和方法,共四部分内容,第一部分包括前两章,介绍算法设计与分析的基本概念及必要的数学工具,对算法的时间复杂性的概念及算法的分析方法作了较为详细的叙述。第二部分包括第3~9章,以算法设计技术为纲,从排序问题和离散集合的操作开始,进而介绍递归技术、分治法、贪婪法、动态规划、回溯法、分支与限界法以及随机算法等算法设计技术及其复杂性。第三部分包括第10章和第11章,介绍计算机应用领域里的一些算法,如图和网络中的一些问题,以及计算几何中的一些问题。第四部分包括第12~15章,介绍算法设计与分析中的一些理论问题,如NP完全问题、计算复杂性问题、下界理论问题,最后介绍了近似算法及其性能分析。 本书内容选材适当,编排合理,由浅入深,循序渐进,互相衔接,逐步展开。可作为高等院校计算机专业本科生和研究生的教材,也可作为计算机科学与应用的科学技术人员的参考资料。
前 言 计算机系统中的任何软件,都是按一个个特定的算法来予以实现的。算法性能的好坏,直接决定了所实现软件性能的优劣。如何判定一个算法的性能、用什么方法来设计算法、所设计的算法需要多少运行时间、多少存储空间,在实现一个软件时,这些都是必须予以解决的。计算机的操作系统、语言编译系统、数据库管理系统以及各种各样的计算机应用系统软件,都离不开用具体的算法来实现。因此,算法设计与分析是计算机科学与技术的一个核心问题,也是大学计算机专业本科生及研究生的一门重要的专业基础课程。通过算法设计与分析这门课程的学习,使读者能够掌握算法设计与分析的方法,利用这些方法去解决在计算机科学与技术中所遇到的各种问题,去设计计算机系统的各种软件中所可能遇到的算法,并对所设计的算法作出科学的评价。因此,算法设计与分析,不仅对计算机专业的科学技术人员,而且对使用计算机的其他专业技术人员,都是非常重要的。 本书的内容选材适当,循序渐进,互相衔接,逐步展开。先以最简单的穷举法为例,说明算法设计技术及算法分析的重要性;接着以排序问题中的某些算法为例,说明算法分析的一般方法;然后以算法设计技术为纲,按照所叙述算法的思想方法、实现步骤、所涉及到的数据结构、算法的具体描述以及复杂性分析等几个方面,逐个介绍各种算法设计技术及其分析方法。 全书分为四部分,第一部分包括第1章和第2章,介绍算法设计与分析的基本概念。第1章介绍算法的定义及算法设计与分析的基本概念,特别是对时间复杂性的概念及算法的分析方法作了较为详细的叙述。第2章简单叙述与算法分析有关的最基本的数学工具。第二部分包括第3~9章,介绍算法设计的基本技术。第3...
第1章 算法的基本概念 1
1.1 引言 1
1.1.1 算法的定义和特征 1
1.1.2 算法设计的例子,穷举法 3
1.1.3 算法的复杂性分析 5
1.2 算法的时间复杂性 6
1.2.1 算法的输入规模和运行时间的阶 6
1.2.2 运行时间的上界,O记号 9
1.2.3 运行时间的下界,Ω记号 10
1.2.4 运行时间的准确界,Θ记号 10
1.2.5 复杂性类型和o记号 13
1.3 算法的时间复杂性分析 14
1.3.1 循环次数的统计 15
1.3.2 基本操作频率的统计 18
1.3.3 计算步的统计 21
1.3.4 最坏情况和平均情况 22
1.3.5 最坏情况分析 23
1.3.6 平均情况分析 25
1.4 算法的空间复杂性 28
1.5 最优算法 29
习题 29
参考文献 31
第2章 常用的数学工具 33
2.1 常用的函数和公式 33
2.1.1 整数函数 33
2.1.2 对数函数 34
2.1.3 排列、组合和二项式系数 34
2.1.4 级数求和 36
2.2 用生成函数求解递归方程 37
2.2.1 生成函数及其性质 37
2.2.2 用生成函数求解递归方程 39
2.3 用特征方程求解递归方程 42
2.3.1 k阶常系数线性齐次递归方程 43
2.3.2 k阶常系数线性非齐次递归方程 45
2.4 用递推方法求解递归方程 48
2.4.1 递推 48
2.4.2 用递推法求解...