【问题标题】:Extensive Recursion Tutorial广泛的递归教程
【发布时间】:2011-12-14 09:11:12
【问题描述】:

一些需要递归的问题总是让我得到解决。我并不总是能够想出一个递归算法,但我知道这个问题有一个递归解决方案。

我发现使用递归方法很容易实现阶乘和斐波那契等问题。但是当我面临更复杂的问题,例如生成数字http://en.wikipedia.org/wiki/Partition_%28number_theory%29 的分区时,我知道有一种可能的递归方法,但我就卡在那里了。我无法设计递归算法。假设我想打印字符串的所有组合,或者如果我想使用递归暴力破解硬币更改问题,我无法设计递归方法。

是否有任何特殊的思考方式来提出递归方法?是否有任何广泛的递归算法教程可以帮助我解决更高级的问题?

【问题讨论】:

    标签: algorithm recursion


    【解决方案1】:

    查看 Structure and Interpretation of Computer Programs book,这是 Stack Overflow 上强烈推荐的,可在线免费获取。它使用 Scheme 编程语言来教授有关编程的基本概念。由于 Scheme 是一种函数式编程语言,因此递归在任何地方都得到了广泛的使用——不仅在 C 或 PHP 等命令式编程语言中你会使用它的地方,而且在你通常会使用循环构造的地方。 本书中的示例和问题展示了在其自然栖息地中的递归,如果你愿意的话,而不是通过复杂的虚构场景。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多