​迭代

简介: ​迭代
  • 循环(loop) - 最基础的概念, 所有重复的行为


  • 递归(recursion) - 在函数内调用自身, 将复杂情况逐步转化成基本情况


  • (数学)迭代(iterate) - 在多次循环中逐步接近结果


  • (编程)迭代(iterate) - 按顺序访问线性结构中的每一项


  • 遍历(traversal) - 按规则访问非线性结构中的每一项


这些概念都表示“重复”的含义, 彼此互相交叉, 在上下文清晰的情况下, 不必做过于细致的区分.


有了以上定义,这几个概念之间的区别其实就比较清楚了。至于它们之间的联系,严格来讲,它们都属于算法的范畴。


换句话说,它们只不过是解决问题的不同手段和方式,而本质上则都是计算机编程中达成特定目标的途径。


迭代


迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。


利用迭代算法解决问题,需要做好以下三个方面的工作:


  1. 确定迭代变量。


在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。


  1. 建立迭代关系式。


所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。
迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。


  1. 对迭代过程进行控制。


在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。


不能让迭代过程无休止地重复执行下去。


迭代过程的控制通常可分为两种情况:


一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。


对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析出用来结束迭代过程的条件。


迭代与循环


先从字面上看:


  • 迭代:


“迭”:


轮流,轮番,替换,交替,更换。


“代”:


代替。


所以迭代的意思是:


变化的循环,这种变化就是轮番代替,轮流代替。


  • 循环:


不变的重复。


# 循环for _ in range(10):
    print("你好")# 迭代sums = 0for i in range(10):
    sums += i
print(sums)  # 45
目录
相关文章
|
9月前
|
监控 安全 测试技术
迭代测试发现不了问题,怎么办
迭代测试发现不了问题,怎么办
64 0
|
前端开发
前端学习案例12-数组迭代方法foreach
前端学习案例12-数组迭代方法foreach
74 0
前端学习案例12-数组迭代方法foreach
|
前端开发
前端学习案例9-数组迭代方法foreach
前端学习案例9-数组迭代方法foreach
99 0
前端学习案例9-数组迭代方法foreach
|
前端开发
前端学习案例13-数组迭代方法foreach
前端学习案例13-数组迭代方法foreach
100 0
前端学习案例13-数组迭代方法foreach
|
前端开发
前端学习案例10-数组迭代方法foreach
前端学习案例10-数组迭代方法foreach
72 0
前端学习案例10-数组迭代方法foreach
|
前端开发
前端学习案例11-数组迭代方法foreach
前端学习案例11-数组迭代方法foreach
86 0
前端学习案例11-数组迭代方法foreach
|
前端开发
前端学习案例10-数组迭代方法foreach
前端学习案例10-数组迭代方法foreach
75 0
前端学习案例10-数组迭代方法foreach
|
前端开发
前端学习案例4-对象的迭代和map和set
前端学习案例4-对象的迭代和map和set
98 0
前端学习案例4-对象的迭代和map和set
|
前端开发
前端学习案例5-对象的迭代和map和set2
前端学习案例5-对象的迭代和map和set2
68 0
前端学习案例5-对象的迭代和map和set2
|
前端开发
前端学习案例3-对象的迭代
前端学习案例3-对象的迭代
87 0
前端学习案例3-对象的迭代