递归和迭代的区别是什么,各有什么优缺点?

程序调用自身称为递归,利用变量的原值推出新值称为迭代。

递归的优点大问题转化为小问题,可以减少代码量,同时代码精简,可读性好;

缺点就是递归调用浪费了空间,而且递归太深容易造成堆栈的溢出。

迭代的好处就是代码运行效率好,因为时间只因循环次数增加而增加,而且没有额外的空间开销;

缺点就是代码不如递归简洁

posted @ 2017-11-25 11:12  Samsara315  阅读(3447)  评论(0编辑  收藏  举报