出版时间:2012-2 出版社:电子工业 作者:王晓东 页数:306
Tag标签:无
内容概要
本书是普通高等教育“十一五”国家级规划教材和国家精品课程教材。全书以算法设计策略为知识单元,系统介绍计算机算法的设计方法与分析技巧。主要内容包括:算法概述、递归与分治策略、动态规划、贪心算法、回溯法、分支限界法、随机化算法、线性规划与网络流等。书中既涉及经典与实用算法及实例分析,又包括算法热点领域追踪。为突出教材的可读性和可用性,章首增加了学习要点提示,章末配有难易适度的算法分析题和算法实现题;配套出版了《计算机算法设计与分析习题解答(第2版)》;并免费提供电子课件和教学网站服务。
书籍目录
第1章 算法概述
1.1 算法与程序
1.2 算法复杂性分析
1.3 NP完全性理论
算法分析题1
算法实现题1
第2章 递归与分治策略
2.1 递归的概念
2.2 分治法的基本思想
2.3 二分搜索技术
2.4 大整数的乘法
2.5 Strassen矩阵乘法
2.6 棋盘覆盖
2.7 合并排序
2.8 快速排序
2.9 线性时间选择
2.10 最接近点对问题
第3章 动态规划
第4章 贪心算法
第5章 回溯法
第6章 分支限界法
第7章 随机化算法
第8章 线性规划与网络流
附录 A C++概要
参考文献
章节摘录
版权页:插图:问题的计算复杂性可以通过解决该问题所需计算量的多少来度量。如何区分一个问题是“易”还是“难”呢?人们通常将可在多项式时间内解决的问题看作是“易”解问题,而将需要指数函数时间解决的问题看作是“难”问题。这里所说的多项式时间和指数函数时间是针对问题的规模而言的,即解决问题所需的时间是问题规模的多项式函数或指数函数。对于实际遇到的许多问题,人们至今无法确切了解其内在的计算复杂性。因此只能用分类的方法将计算复杂性大致相同的问题归类进行研究。而对于能够进行较彻底分析的问题则尽可能准确地确定其计算复杂性,从而获得对它的深刻理解。本书中的许多算法都是多项式时间算法,即对规模为n的输入,算法在最坏情况下的计算时间为,k为一个常数。是否所有的问题都在多项式时间内可解呢?回答是否定的。例如,存在一些不可解问题,如著名的“图灵停机问题”。任何计算机不论耗费多少时间也不能解该问题。此外,还有一些问题,虽然可以用计算机求解,但是对任意常数k,它们都不能在的时间内得到解答。一般地说,将可由多项式时间算法求解的问题看作是易解的问题,而将需要超多项式时间才能求解的问题看作是难解的问题。有许多问题,从表面上看似乎并不比排序或图的搜索等问题更困难,然而至今人们还没有找到解决这些问题的多项式时间算法,也没有人能够证明这些问题需要超多项式时间下界。也就是说,这类问题的计算复杂性至今未知。为了研究这类问题的计算复杂性,人们提出了非确定性图灵机计算模型。在该计算模型下,许多问题就可以在多项式时间内求解。本书中讨论的许多问题是以最优化问题形式出现的,如旅行售货员问题、0-1背包问题和最大团问题等。然而对每一个最优化问题,都有一个与之对应的判定问题。第5章中要讨论的旅行售货员问题是一个典型的最优化问题。
编辑推荐
《计算机算法设计与分析(第4版)》是普通高等教育“十一五”国家级规划教材高等学校规划教材之一。
图书封面
图书标签Tags
无
评论、评分、阅读与下载