【问题标题】:What are recursion trees?什么是递归树?
【发布时间】:2013-08-02 08:24:15
【问题描述】:

在阅读有关合并排序的更多内容时,我遇到了递归树。什么是递归树?它们有助于解决递归问题吗?我们通过绘制递归树来实现什么? Google 没有帮助我。

【问题讨论】:

  • 可能对于程序员 SE 来说是一个更好的问题。
  • 您确定 Google 不会提供帮助吗?我刚刚发现:en.wikipedia.org/wiki/Recursive_tree
  • 谷歌很快就引导我here。这似乎几乎涵盖了它。
  • @Renan: 递归树 != 递归树

标签: algorithm sorting recursion


【解决方案1】:

递归树可以展示递归在解决您的问题方面的作用,还可以帮助揭示更坏/最好的情况。例如,如果您的二分搜索算法的递归树总是采用最正确的路径,那么您可能处于更糟糕的情况(因为您的程序没有分支,为什么还要使用树来表示它?)。在一组输入上绘制算法的递归操作树也可以激发您的想法,即如何将递归程序更改为迭代程序,这可能会或可能不会节省大量内存/时间。

或者,它可以使您的递归程序看起来非常好,因为您可能会发现它在进入下一层之前填充了几乎所有的叶子,并让您在树上快速操作。一个很好的例子是红黑二叉搜索树,但它比归并排序更难以递归方式映射。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 2013-12-01
    • 2013-11-08
    • 2010-10-30
    • 1970-01-01
    • 2010-11-17
    • 2017-03-22
    相关资源
    最近更新 更多