php中递归和迭代有什么区别
php中递归和迭代的区别是,递归是指程序调用自身,而迭代是指利用变量的原值推算出变量的一个新值,也就是说A不停地调用B。
本文操作环境:windows10系统、php 7.3、thinkpad t480电脑。
递归是指程序调用自身的编程技巧称为递归
优点:
1)大问题化为小问题,可以极大的减少代码量;
2)用有限的语句来定义对象的无限集合;
3)代码更简洁清晰,可读性更好
缺点:
1)递归调用函数,浪费空间;
2)递归太深容易造成堆栈的溢出;
迭代是指利用变量的原值推算出变量的一个新值,迭代就是A不停的调用B.
优点:
1)迭代效率高,运行时间只因循环次数增加而增加;
2)没什么额外开销,空间上也没有什么增加,
缺点:
1)不容易理解;
2)代码不如递归简洁;
3)编写复杂问题时困难。
两者的关系:
1)递归中一定有迭代,但是迭代中不一定有递归,大部分可以相互转换。
2)能用迭代的不用递归,递归调用函数,浪费空间,并且递归太深容易造成堆栈的溢出./*相对*/
相关推荐:php视频教程