1 问题描述
今天在看Python的课程时 听到老师讲到了递归
实际上 在我大学学编程课的时候
就听到老师们说过 递归不是一种很好定义函数逻辑的方式
这是因为在递归过程中 程序为了保存函数现场的变量需要使用大量的内存资源
尤其是当递归的层数变多时 就会占用大量的内存
于是 使用循环方式来解决递归问题是一种十分可取的方法
2 递归转换成循环的思想
其实关于递归的编程思路实际上是一种回溯的过程
以阶乘运算为例 如果使用递归方法来解题的话
其思路是: n! = n * (n-1)!
其实其基本思想就是采用了“回溯”的方式
如果利用循环来解题的话 实际上就是追本溯源
由基例数据开始进行累积计算 类似于“道生一,一生二,二生三,三生万物”这种由源头开始的思想