一般情况下,只有在处理大量数据时才会借助于计算机,所以算法设计中很重要的工作是把对数据的处理归结成较为规范的可重复的“机械化操作”,然后交给计算机去完成。即将重复处理的大量数据的步骤抽象化成“循环”或“递归”的模式,设计出可以针对不同规模解决问题的算法。
循环算法设计中,一个重要的工作就是从已经建立好的数学模型中,构造出“不变式”的“循环条件”,“循环体”。不变式主要是依靠变量或者数组元素表示的,因为变量名或者数组元素是‘不变的’,而变量或者数组元素中的数据是不断变化的,从而数据处理是动态的、渐进的。
循环设计的要点:
(1)设计中要注意算法的效率,尽可能使用层数少的循环来完成。
具体事例请参考:实例1
(2)自顶向下的设计方法:自顶向下的方法是从全局走向局部、从概略走向详尽的设计方法,自上而下是系统分节和细化的过程。
具体事例请参考:实例2
(3)由具体到抽象设计循环结构:对于不太熟悉的问题,其数学模型或者“机械化操作步骤”不易抽象时,采用由具体到抽象的设计方法。
具体事例请参考:实例3
递归设计要点:
递归算法的设计,就是把一个大型复杂的问题层层