fkjj.net
当前位置:首页 >> php递归和迭代的区别 >>

php递归和迭代的区别

递归和迭代都是循环的一种. 简单地说,递归是重复调用函数自身实现循环.迭代是函数内某段代码实现循环,而迭代与普通循环的区别是:循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值.

递归的基本概念:程序调用自身的编程技巧称为递归,是函数自己调用自己. 一个函数在其定义中直接或间接调用自身的一种方法,它通常把一个大型的复杂的问题转化为一个与原问题相似的规模较小的问题来解决,可以极大的减少代码量.递归

我觉得关键区别在二者的开销:迭代操作的开销比较小,就是几个变量来回赋值;而递归需要大量的函数调用,系统开销很大.二者的联系:在一些情况下(尾递归),递归可以简单地转换成迭代.转不成迭代的复杂情况一般需要自己构造栈来模拟函数调用过程,从而减少系统开销.

“递归”和“迭代”的区别如下:1、递归的基本概念:程序调用自身的编程技巧称为递归,是函数自己调用自己.一个函数在其定义中直接或间接调用自身的一种方法,它通常把一个大型的复杂的问题转化为一个与原问题相似的规模较小的问题

1、“递归”是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现像..在计算机编程里,递归指的是一个过程:函数不断引用自身,直到引用的对象已知. 2、“迭代”的含义是:重复反馈过程的活动,其目的通常是为了逼近所需目标或结果.每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值.

迭代与递归的区别在于:递归是由自己延伸出去的,而迭代是得到新的结果并替代了自己. 1、“递归”是指函数、过程、子程序在运行过程序中直接或间接调用自身而产生的重入现像.在计算机编程里,递归指的是一个过程:函数不断引用自身,直到引用的对象已知. 2、“迭代”的含义是:重复反馈过程的活动,其目的通常是为了逼近所需目标或结果.每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值.

递归是不断的压栈.非常消耗内存.是相当于一种解决事物的算法.不断的执行相同的函数代码,类似的可以解决汉诺塔等问题.而迭代你可以理解为取出容器里东西的方法.

zwu说到点子上了.递归是自顶向下逐步拓展需求,最后自下向顶运算.即由f(n)拓展到f(1),再由f(1)逐步算回f(n)迭代是直接自下向顶运算,由f(1)算到f(n).

区别和联系:递归是迭代的一个特例,从理论上讲,任何递归都可以转换成迭代.优缺点及对比:递归性能不如迭代,但是递归思路简单清晰,并且有些时候是必须要用递归才能做,而迭代是做不到的,比如,在实际开发过中,有那么一张表,描述了实体之间的层次关系的,比如要遍历所有实体之间存在的层次关系,即n:m的关系,且事先是不知道每个实体间的数量,所以如果用迭代是根本实现不了.必须借助递归进行深层次递归才能得到结果.

网站首页 | 网站地图
All rights reserved Powered by www.fkjj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com