我正在寻找一些递归函数示例,最好是复杂性增加的示例。我理解基本的递归函数,但是我在代码中实现它们时遇到了麻烦。我之前从未在我的代码中使用它们,我知道它并不总是需要它,但我想尝试一下。是否有一个很好的资源与示例,也许某种挑战?甚至是一些简单的数学问题(Project Euler-style?),我可以使用递归?
例如,我更喜欢C#,但一切正常。
答案 0 :(得分:3)
1最简单的是阶乘,斐波那契序列或由递归函数定义的任何数学序列。
2然后你可以转到
任何使用深度优先搜索的算法。
E.g。 tree traversal,graph traversal,
搜索问题,例如8-queens problems。
3你可能想学习 划分和征服算法,例如,合并排序和快速排序。它们通常是递归实现的。
这些都非常经典!
答案 1 :(得分:2)
我发现Stanford Engineering Everywhere计划提供的在线课程是一个很好的资源。如果你看看他们的CS106B课程,讲座7到11,你应该对递归有一个很好的基本理解。他们还提供解决问题的练习。
http://see.stanford.edu/see/lecturelist.aspx?coll=11f4f422-5670-4b4c-889c-008262e09e4e
答案 2 :(得分:0)
好吧,如果您在实现基本递归函数时遇到问题,我建议您实际上并不理解它们。但是,没有任何耻辱,不是每个人都可以轻松获得递归。我建议你尝试使用简单的算法,而不是对不起: