|
发表于 2008-3-13 14:22:11
|
显示全部楼层
来自: 中国山东泰安
迭代法
迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。迭代法又分为精确迭代和近似迭代。“二分法”和“牛顿迭代法”属于近似迭代法。( t* P; M' p- _. A) ^% W
1 }9 l+ I& ~/ x8 j: ? F: y3 K) j迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。
& x- c& Z# M' o# U8 W2 H3 q o- B. s: S1 l! g
利用迭代算法解决问题,需要做好以下三个方面的工作:
: P2 Z2 p' g- L4 n" g3 i* d; G7 j. y
8 N3 f3 d% Y A) B一、确定迭代变量。在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。
6 V( b2 W, H5 E8 h
9 C- P0 }8 m4 F) l3 {2 Q二、建立迭代关系式。所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。 3 A# k9 A2 p4 }6 ]
, ? }5 _, e0 B* s0 I三、对迭代过程进行控制。在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。不能让迭代过程无休止地重复执行下去。迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析出用来结束迭代过程的条件。 |
|