我们现在已经为复杂算法的设计与分析做好了准备。本书大部分内容都是根据技术而非应用领域进行组织的。前面已经提到,这种组织方式的目的是为了建立一个方法库,在遇到新问题时,可从其中选择可能的解决方法。第2章讨论“分而治之”方法。第3章介绍动态规划,第4章讨论“贪婪方法”。第5章介绍回溯技术。第6章讨论一种与回溯有关的方法,名为“分支定界”。第7章和第8章从算法的设计与分析转为分析问题本身。这种分析称为计算复杂度分析,主要计算对于一个给定问题,其所有算法的时间复杂度下限。第7章分析排序问题,第8章分析查找问题。第9章专门讨论一种特殊类别的问题。对于这类问题,人们还从来没有开发出一种算法,使其时间复杂度在最差情况下能够优于指数函数。但也从来没有人能够证明不存在这种算法。事实表明,这类问题多达数千个,并且相互之间密切关联。此类问题的研究已经成为一个较新的、令人兴奋的计算机科学领域。第10章将再次回到算法的设计。但与第2章到第6章中给出的算法不同,我们将讨论解决一类特定问题的算法,也就是数论算法。这类算法解决的是涉及整数的问题。前9章讨论的所有算法都是为单处理器计算机设计的,这类计算机一次只能执行一个指令序列。由于计算机硬件价格的大幅降低,并行计算机近期的发展非常迅速。这些计算机有多个处理器,所有处理器可同时(并行)执行指令。为这类计算机编写的算法称为“并行算法”。第11章介绍此类算法。
算法基础(第5版)——1.5 本书概要
书名: 算法基础(第5版)
作者: [美] Richard E·Neapolitan
出版社: 人民邮电出版社
原作名: Foundations of Algorithms
译者: 贾洪峰
出版年: 2016-3
页数: 408
定价: 99.00元
装帧: 平装
丛书: 图灵计算机科学丛书
ISBN: 9787115416575