关于递归转换成循环的思想

版权声明:墨眉无锋,似攻非攻。 https://blog.csdn.net/songyuc/article/details/79539080

1 问题描述

今天在看Python的课程时 听到老师讲到了递归

实际上 在我大学学编程课的时候

就听到老师们说过 递归不是一种很好定义函数逻辑的方式

这是因为在递归过程中 程序为了保存函数现场的变量需要使用大量的内存资源

尤其是当递归的层数变多时 就会占用大量的内存

于是 使用循环方式来解决递归问题是一种十分可取的方法


2 递归转换成循环的思想

其实关于递归的编程思路实际上是一种回溯的过程

以阶乘运算为例 如果使用递归方法来解题的话

其思路是: n! = n * (n-1)!

其实其基本思想就是采用了“回溯”的方式 

如果利用循环来解题的话 实际上就是追本溯源

由基例数据开始进行累积计算 类似于“道生一,一生二,二生三,三生万物”这种由源头开始的思想

猜你喜欢

转载自blog.csdn.net/songyuc/article/details/79539080
今日推荐