相关疑难解决方法(0)

什么是递归,什么时候应该使用它?

在邮件列表和在线讨论中经常出现的主题之一是进行计算机科学学位的优点(或缺乏).似乎一次又一次地为负面派对提出的论点是,他们已编码了若干年,他们从未使用过递归.

所以问题是:

  1. 什么是递归?
  2. 我什么时候使用递归?
  3. 为什么人们不使用递归?

recursion computer-science

121
推荐指数
11
解决办法
18万
查看次数

为什么.NET/C#不能优化尾调用递归?

我发现这个问题关于哪些语言优化尾递归.为什么C#不会优化尾递归?

对于具体情况,为什么不将此方法优化为循环(Visual Studio 2008 32位,如果这很重要)?:

private static void Foo(int i)
{
    if (i == 1000000)
        return;

    if (i % 100 == 0)
        Console.WriteLine(i);

    Foo(i+1);
}
Run Code Online (Sandbox Code Playgroud)

.net c# optimization tail-recursion

102
推荐指数
4
解决办法
3万
查看次数

你什么时候担心堆栈大小?

当您使用允许对非常大的对象使用自动分配的语言进行编程时,您何时以及如何担心堆栈大小?关于堆栈大小的推理是否有任何经验法则?

c++

13
推荐指数
5
解决办法
2220
查看次数