新书推荐:《算法分析导论》

时间:2022-10-26 14:00:04 来源:网友投稿

分析算法的人享有双重的幸福。首先,他们体验到优雅数学模式纯粹的美,这种模式存在于优美的计算过程之中。其次,当他们的理论使得其他工作能够做得更快和更经济时,他们得到的是实际的褒奖……因此,我们盼望已久的这部著作备受欢迎。该书作者不仅是算法领域在世界范围内的领袖,而且还是阐述的大师。

——D.E.Knuth

在计算机科学中,算法犹如国之利器,无疑是永恒的基石和主题。今天,随着计算机的应用越来越广,算法的影响也日渐增加。从传统的数学、物理学直至现在的因特网搜索引擎,算法都在其中扮演着重要的角色。

算法分析一般包括两种不同的方法。第一种方法研究确定最坏情形的性能,有时称之为计算复杂性。当面对一种新的算法时,用此方法能够形成一种粗略的认识:新算法能够有多好?它比其他算法性能大致如何?就算法分析来说,这种复杂性分析由于抛弃了一些次要因素因而会丧失不少精度,它提供不了算法具体实现的性能特征以及与其他算法具体比较所需的足够信息。不过,我们可以把它看成是形成更精练、更准确分析过程的第一步。第二种方法通过确定最佳情形、最坏情形以及平均情形的性能来精确地刻画算法的性能,在需要的时候,能够通过可以精化的方法准确地预测特定算法的性能特征,其中最常见的是对时间和空间这样一些基本资源的消耗,尤其是时间。算法分析表示整个分析过程,它提供任意精度的解决方案。

《算法分析导论》(机械工业出版社出版)一书对算法的数学分析中使用的基本方法提供了全面的介绍。本书涉及的内容十分丰富,既有经典的数学素材,包括离散数学、初等实分析、组合数学,还不乏经典的计算机科学素材(包括算法和数据结构)。虽然书中论述了“最坏情形”和“复杂性问题”分析所需的基本数学工具,但重点还是讨论“平均情形”或“概率”分析。论题涉及递归、生成函数、渐近性、树、串、映射等内容,以及对排序、树查找、串查找和散列诸算法的分析。

尽管人们极为关注算法的数学分析,但是广泛使用的方法和模型方面的基本信息尚不能为诸多工作和研究所直接使用。作者在本书中积极处理这种需求,把算法领域出现的挑战以及为跟上新的研究以迎接这些挑战所必需的背景资料完美地结合在一起。

本书语言简炼,推导紧凑,它能够很好地锻炼我们独立的阅读能力。在验证书中的结论和求解练习的结果时,若能使用像Matlab、Mathematica或MAPLE这样的计算机软件,则可帮助我们摆脱繁琐的演算,节省宝贵的时间。本书的另一大特点是课文中以及各章末尾所列出的参考文献,对于有心深造的读者,这是十分宝贵的财富。

经过近几十年的发展,算法分析已经十分成熟,并能够在标准的计算机课程中占有一席之地。本书不仅适用于编程人员和计算机科学专业的学生,也适用于想让计算机运行得快一些或想解决一些实际问题的计算机用户,为那些徘徊在该领域之外却苦于不得其门而入的新手指出通往研究之门的捷径。高年级本科生和研究生在先修有关数学和计算机的相应知识的基础上,可以将本书用于算法分析的导论性课程。数学和计算机领域中不同专业的学生,选修本书可以各有侧重,对此,作者在前言中给出了指导性的建议。

推荐访问:导论 算法 新书 分析 推荐