问题标签 [recursion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
33631 浏览

c# - 递归 lambda 表达式在 C# 中遍历树

有人可以告诉我如何实现递归 lambda 表达式来遍历 C# 中的树结构。

0 投票
30 回答
162143 浏览

performance - 递归还是迭代?

如果我们在两者都可以服务于相同目的的算法中使用循环而不是递归或反之亦然,是否会影响性能?例如:检查给定的字符串是否是回文。我见过许多程序员使用递归作为一种手段来炫耀一个简单的迭代算法何时可以满足要求。编译器在决定使用什么方面起着至关重要的作用吗?

0 投票
2 回答
11515 浏览

sql - 使用递归查询构建表依赖图

我正在尝试基于它们之间的外键构建表的依赖关系图。该图需要以任意表名作为其根开始。我可以,给定一个表名,使用 all_constraints 视图查找引用它的表,然后查找引用它们的表,依此类推,但这会非常低效。我编写了一个递归查询,对所有表执行此操作,但是当我添加时:

它不会返回整个树。

0 投票
55 回答
125540 浏览

recursion - 递归的真实示例

除了深度优先搜索(DFS)之外,递归方法是自然解决方案的实际问题是什么?

(我不考虑河内塔斐波那契数或阶乘现实问题。在我看来,它们有点做作。)

0 投票
10 回答
138017 浏览

unix - 如何从 Unix 命令行递归解压缩目录及其子目录中的档案?

unzip命令没有递归解压缩档案的选项。

如果我有以下目录结构和档案:

我想将所有档案解压缩到与每个档案同名的目录中:

我会发出什么命令或命令?

重要的是,这不会阻塞包含空格的文件名。

0 投票
2 回答
3059 浏览

python - 拓扑排序,递归,使用生成器

数据:一个依赖列表,已经验证为非循环的。所以在这里,'a'取决于'b','c'(c取决于d)等等......

我想要一个自上而下的递归解决方案,比如说,找到从“a”开始的链:a、c、d、e、g、f、b

所以,现在(一个非发电机解决方案):

显然,这很弱 :) 我一直在思考如何在那里获得收益,我很感激你们能带来的任何 py-foo。

0 投票
5 回答
14153 浏览

algorithm - 最短根到叶路径

什么是最简单的方法,最好使用递归,在 BST(二叉搜索树)中找到最短的根到叶路径。首选Java,伪代码还可以。

谢谢!

0 投票
4 回答
753 浏览

scala - Scala REPL 中的递归重载语义 - JVM 语言

使用 Scala 的命令行 REPL:

看来你不能在 REPL 中定义重载的递归方法。我认为这是 Scala REPL 中的一个错误并提交了它,但它几乎立即以“wontfix 关闭:鉴于解释器的语义,我看不出有任何方法可以支持,因为必须编译这两种方法一起。” 他建议将这些方法放在一个封闭的对象中。

是否有 JVM 语言实现或 Scala 专家可以解释原因?例如,如果这些方法相互调用,我可以看到这将是一个问题,但在这种情况下呢?

或者,如果这是一个太大的问题,而您认为我需要更多的先决知识,那么是否有人有任何关于语言实现的书籍或网站的良好链接,尤其是在 JVM 上?(我知道 John Rose 的博客,以及 Programming Language Pragmatics 这本书……但仅此而已。:)

0 投票
22 回答
83027 浏览

recursion - 递归函数的例子

任何人都可以建议说明递归函数的编程示例吗?有常见的老马,如斐波那契系列河内塔,但除它们之外的任何东西都会很有趣。

0 投票
15 回答
8831 浏览

optimization - 如何编写通用的 memoize 函数?

我正在编写一个函数来查找三角形数,而编写它的自然方法是递归:

但是尝试计算前 100,000 个三角形数会在一段时间后因堆栈溢出而失败。这是memoize的理想函数,但我想要一个能够记住我传递给它的任何函数的解决方案。