尾递归
来源:互联网 发布:劫持刘嘉玲的是谁知乎 编辑:程序博客网 时间:2024/04/29 16:10
普通的线性递归堆栈耗用大,比尾递归更加消耗资源,不过两者效率差不多。。。
举个栗子:递归求n的阶乘 1*2*...*n
// 普通线性递归function recursive($n) { if ($n > 1) return recursive($n-1) * $n; else return 1;}// 尾递归,s代表乘积function tailRecursive($n, $s = 1) { if ($n > 1) return tailRecursive($n-1, $s * $n); else return $s;}recursive(5); tailRecursive(5);// 递归过程--- 线性递归过程:recursive(5){5 * recursive(4)}{5 * {4 * recursive(3)}}{5 * {4 * {3 * recursive(2)}}}{5 * {4 * {3 * {2 * recursive(1)}}}}{5 * {4 * {3 * {2 * 1}}}}{5 * {4 * {3 * 2}}}{5 * {4 * 6}}{5 * 24}120--- 尾递归过程:tailRecursive(5)tailRecursive(4, 5)tailRecursive(3, 20)tailRecursive(2, 60)tailRecursive(1, 120)120
0 0
- 递归和尾递归
- 递归与尾递归
- 递归与尾递归
- 尾递归和递归
- 递归与尾递归
- 递归,尾递归,循环
- 递归与尾递归
- 递归和尾递归
- 递归与尾递归
- 递归与尾递归
- 递归与尾递归
- 递归与尾递归
- 递归和尾递归
- 递归 尾递归
- 递归与尾递归
- 递归与尾递归
- 递归与尾递归
- 递归和尾递归
- 模型的应用 && Xib &&代理模式的应用【应用管理】
- [机器学习]机器学习之数学知识回顾-矩阵及优化理论
- 问题解决:FFmpeg视频编解码库,无法解析的外部信号
- 改变体质,预防癌症第一步 (分享大家学习)
- 换手率短线炒股神器测评
- 尾递归
- java编程思想(读书笔记):8.接口和内隐类
- linux 设置共享目录
- 平台开发中访问窗体其他属性
- CFileDialog使用注意事项
- labview做上位机+3D显示+MPU6050
- 详解JS作用域和this关键字
- 日期时间:Calendar的使用
- hadoop学习009