**部分 基础知识
第2章 算法分析的原理
要把算法**应用到实际问题中,分析是充分理解算法的关键。尽管不能对运行的每个程序进行广泛的实验和深入的数学分析,我们还是能够在一个基本框架内进行实验测试和近似分析,这样可以帮助我们了解关于算法性能特征的重要事实,从而对算法进行比较,才可以把它们应用到实际问题中。
**地用数学分析的方法描述复杂算法的性能的这个想法,乍看起来有点使人畏惧,并且经常需要查阅一些有详细数学研究结果的研究文献。尽管本书目的不是包含一些分析方法,甚至总结这些结果,但重要的是一开始就意识到我们是在坚实的数学基础上比较不同的算法。此外,通过运用相对少量的基本技术,就能获得许多*重要算法的大量详细信息。书中强调基本分析结果和分析方法,尤其是当这样的理解有助于理解基本算法的内在工作机理时。本章的主要目标是为**使用算法提供所需的上下文和工具。
第1章给出的例子提供了说明算法分析基本概念的上下文,因而我们会经常回到合并-查找算法讨论某个具体的概念。我们在2.6节还将讨论一些新的例子。
在设计和实现算法的过程中分析起着一定的作用。首先,正如看到的那样,选择合适的算法会节省数千乃至数百万倍的时间。随着讨论更多的**算法,我们发现在这些算法中进行选择更具有挑战性,因而需要更仔细研究算法的性质。在寻求*佳(某种**技术意义下)算法中,我们寻求既实用又在理论上具有挑战性的算法。
……