3.1 算法模板的格式
使用模板来描述算法的好处在于可以很方便地对比各种算法的相似和不同之处。本书中的每种算法都会遵照模板格式使用固定的小节进行展示。如果某个小节不适用于当前算法或者没有什么价值,就会略去。
3.1.1 名称
算法的描述性名称,用来方便区分其他算法。例如,当我们讨论顺序搜索时,这个名称可准确表达所讨论的是哪种搜索算法。算法的名称永远用粗体表示。
3.1.2 输入/输出
描述输入/输出数据的格式和结构。
3.1.3 使用环境
使用环境一节描述了算法的最佳使用时机和场所,还有成功实现算法所需要关注的一系列要点。尤其是问题的某些关键特性会决定算法的选择。
3.1.4 解决方案
算法以及一段可运行的且附有注释的代码。所有的代码都可以在代码库中找到。
3.1.5 算法分析
对算法的大致分析,其中包括性能数据以及其他帮助理解算法行为的数据。这部分并不是想“证明”算法理论上的性能,而是帮助读者理解为什么算法会这样做。我们同样提供了一些参考文献,这些文献里面包含了大量的数学定理和证明过程,用于帮助读者理解为什么算法的实际运行结果与理论相一致。
3.1.6 衍生算法
阐述了算法的衍生版本或者完全不同的替代算法。