Javascript 实现匿名递归

介绍了在 javascript 中利用 arguments.callee 来实现匿名递归的方式。

递归是一种常见的编程技巧,实名递归相信大家都不陌生,但如果想要实现匿名递归呢?比如想要返回一个匿名递归函数,又或者是定义一个匿名递归函数并直接调用它,该怎样去做呢?本文将来探讨一下它的实现。

实名递归

我们还是先从实名递归说起吧,还是用那个最简单的求阶乘的例子: 继续阅读“Javascript 实现匿名递归”

递归解决换零钱问题–回顾总结之递归的表达能力

摘要:关于递归表达能力的一个总结。

前面为了保持叙述的流畅,没有做太多的引申,把总结推迟到了后面。

补上一些总结,以防止出现“下面呢?下面没有了”的尴尬。

继续阅读“递归解决换零钱问题–回顾总结之递归的表达能力”

递归解决换零钱问题–代码实现

摘要:递归解决换零钱问题的具体代码实现,提供了两种实现,一种面向对象式,一种面向过程式,使用 Java 语言。

在上一篇中,经过深入分析,已经得出一个能够递归的形式化的结果,现在则准备给出一个具体实现。

继续阅读“递归解决换零钱问题–代码实现”

经典递归分析

摘要:简要介绍了阶乘与菲波那契数列两个经典的递归例子,并重点分析了递归与迭代的异同,以及递归调用与栈之间的关系。

在前面一篇中,已经看过许多直观的递归的例子,在这篇里,将分析两个经典的递归问题,阶乘与菲波那契数列数列,在此过程中,还将对比递归与循环(迭代)间的异同,探讨递归与内存中的栈的关系,以及递归的效率等问题。

继续阅读“经典递归分析”

有趣的递归(Recursion),一些直观的示例

摘要:递归的一些有趣例子。

从前有座山,山上有座庙,庙里有个老和尚在给小和尚讲故事:“从前有座山,山上有座庙,庙里有个老和尚在给小和尚讲故事:……”

继续阅读“有趣的递归(Recursion),一些直观的示例”