循环、递归、遍历、迭代的区别 |
您所在的位置:网站首页 › 无限循环while无法实现遍历循环的功能吗 › 循环、递归、遍历、迭代的区别 |
表示“重复”这个含义的词有很多, 比如
循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate).
循环算是最基础的概念, 凡是重复执行一段代码, 都可以称之为循环.
大部分的递归, 遍历, 迭代, 都是循环.
递归是重复调用函数自身实现循环。迭代是函数内某段代码实现循环,而迭代与普通循环的区别是:循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值。 // 迭代,重复一定的算法,达到想要的目的。数学上二分法,牛顿法是很好的迭代例子 function iteration(x){ var sum=1; for(x; x>=1; x--){ sum = sum*x; } }
// 递归,自身调用自身的迭代就是递归。 // 但是正式定义好像不是这么说的。这只是我个人理解 function recursion(x){ if(x>1){ return x*recursion(x-1); }else{ return 1; } }
迭代式开发:迭代式开发应该是取自"迭代(数学)"的概念的, 意思是把开发过程划分成若干个小目标, 对每个小目标单独进行设计, 开发, 测试, 逐步地完成整个项目. 而传统的开发过程是纯线性的, 先统一设计, 再统一编码, 再统一测试. 相比于传统开发过程, 迭代式开发更灵活, 能够适应需求的变更, 及时验证设计的可行性等等的... 迭代开发更接近循环的意思,是指多次按照开发,测试,发布这样的周期循环来完成一个软件产品的最终发布。而不是试图一次性完成所有工作,发布最终版本 结论: 循环(loop) - 最基础的概念, 所有重复的行为 递归(recursion) - 在函数内调用自身, 将复杂情况逐步转化成基本情况 (数学)迭代(iterate) - 在多次循环中逐步接近结果 (编程)迭代(iterate) - 按顺序访问线性结构中的每一项 遍历(traversal) - 按规则访问非线性结构中的每一项这些概念都表示“重复”的含义, 彼此互相交叉, 在上下文清晰的情况下, 不必做过于细致的区分.
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |