第1章 绪论
1.4 算法设计技术
算法设计的基本要求是:首先是正确性(Correctness),程序中不含语法错误,程序对一切合理的输入数据都能产生满足要求的结果,程序也能对不合理的输入数据产生符合规格要求的结果。其次,算法要具有可读性(Readability),因为研究算法的目的是为了阅读和交流,可读性有助于对算法的理解,可读性有助于对算法的调试和修改。算法应具有高效率与低存储量,处理速度要快,存储容量要小,有时候处理时间和存储空间是矛盾的,实际中,往往是求得时间和空间的折中。
多年来,人们提出了一些通用的算法设计技术如分治方法、贪心法、回溯法、动态规划法、分支限界法等,我们用它们解决了许多类的问题,产生有效的算法,其中贪心法、动态规划法和分支限界法大多用来解决最优化的问题。本小节简单地来介绍一下这五种设计方法,具体算法将会在第6、7、8、9、10章分别介绍。
1.4.1 分治方法
分治法的设计思想是将一个难以直接解决的大问题分割成一些规模较小但类型相同的问题,以便各个击破,分而治之。
展开