- 链接地址:https://blog.csdn.net/qq_44650782/article/details/122878139
- 链接标题:递归与非递归算法_在什么情况下适合递归改为非递归-CSDN博客
- 所属网站:blog.csdn.net
- 被收藏次数:7371
文章浏览阅读2.8k次。一、原因:递归算法一般效率更低;有些程序语言不支持递归。二、方法:将递归算法转换为非递归算法有两种方法,一种是直接求值,不需要回溯;另一种是不能直接求值,需要回溯。前者使用一些变量保存中间结果,称为直接转换法;后者使用栈保存中间结果,称为间接转换法,下面分别讨论这两种方法。直接转换法直接转换法通常用来消除尾递归和单向递归,将递归结构用循环结构来替代。尾递归是指在递归算法中,递归调用语句只有一个,而且是处在算法的最后。例如求阶乘的递归算法:long fact(int n){ if(n0) _在什么情况下适合递归改为非递归
版权声明:本文发布于特牛网址导航 内容均来源于互联网 如有侵权联系删除