【问题标题】:Inplace recursive Quicksort就地递归快速排序
【发布时间】:2011-06-15 20:53:30
【问题描述】:

我已经读过 QuickSort 的递归实现将需要 O(log n) 的额外空间。为什么会这样?

这是因为堆栈空间吗?

【问题讨论】:

  • 是的。你可以避免递归,但你仍然需要一个深度在 log N 左右的堆栈。

标签: algorithm memory recursion quicksort performance


【解决方案1】:

是的,这确实取决于递归调用的堆栈空间。

【讨论】:

    【解决方案2】:

    可以考虑由于堆栈空间,在每次递归中,您都将数组分成两部分,整个过程需要 log N 时间,这是不可避免的......

    【讨论】:

      【解决方案3】:

      O(log n) 什么都不是——只是指针需要这么多内存。

      【讨论】:

        猜你喜欢
        • 2017-09-04
        • 1970-01-01
        • 2020-08-14
        • 2013-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-05
        • 1970-01-01
        相关资源
        最近更新 更多