【发布时间】:2011-06-15 20:53:30
【问题描述】:
我已经读过 QuickSort 的递归实现将需要 O(log n) 的额外空间。为什么会这样?
这是因为堆栈空间吗?
【问题讨论】:
-
是的。你可以避免递归,但你仍然需要一个深度在 log N 左右的堆栈。
标签: algorithm memory recursion quicksort performance
我已经读过 QuickSort 的递归实现将需要 O(log n) 的额外空间。为什么会这样?
这是因为堆栈空间吗?
【问题讨论】:
标签: algorithm memory recursion quicksort performance
是的,这确实取决于递归调用的堆栈空间。
【讨论】:
可以考虑由于堆栈空间,在每次递归中,您都将数组分成两部分,整个过程需要 log N 时间,这是不可避免的......
【讨论】:
O(log n) 什么都不是——只是指针需要这么多内存。
【讨论】: