【发布时间】:2016-01-03 10:17:07
【问题描述】:
这个问题是通过学习 C 语言提出的。
我在我的数据结构课程中看到,在许多情况下,递归被证明是一种快速简便的解决方案(例如快速排序、二叉搜索树的遍历等),已经明确提到使用自创堆栈是一个更好的主意。
给出的原因是递归需要很多函数调用,而函数调用“更慢”。
但是如何证明使用自创建堆栈更好,因为任何函数调用都使用堆栈?
【问题讨论】:
-
问得好,但你为什么不问你的导师呢?如果他不能提供明确的理由,你可以对他的知识有所了解。
-
@Olaf 也许他做到了?不过,通过在这里提问,他可以获得更广泛的答案,并能够将他的导师(如果他有的话?)给他的答案更好地结合起来。一般来说,我建议您不要使用 cmets 来对存在问题进行二次猜测,而是对问题进行改进和澄清。
-
@NathanielFord:是的,我应该添加“太”左右,因为通过将这里的答案与导师所说的(结合某种原因)进行比较,可以衡量一个人可以信任导师的程度以及他的知识实际上有多广,或者他在没有反思的情况下重复他所学的内容的速度有多快。要求第二次猜测不也是某种澄清吗?我们不是千里眼(好吧,至少我不是),所以我们不知道为什么导师这么说。
-
@Olaf 我在我用过的书中找到了这个。我不记得我的导师有没有告诉过我这件事。根据我的经验,向某人询问他们从未说过的事情通常是个坏主意,因为这会使您处于首先需要向他们解释概念的情况;)
-
@RegisteredUser:文字只是唤起了这样的印象。无论如何,您应该问他并与答案进行比较。这是获得印象的好方法。这可能是上课的好主意。正如我在第一条评论中所写:好问题!
标签: c performance recursion stack