【发布时间】:2015-05-30 17:17:41
【问题描述】:
这个page 告诉我们,只要内存不足,stable_sort 就会减少到运行时间为 O(n(log n)(log n)) 的就地算法:
复杂性
如果有足够的额外内存可用,第一个和最后一个之间的距离是线性的:执行最多 N*log2(N) 个元素比较(其中 N 是这个距离),并且最多元素移动。 否则,该距离内的多对数线性:最多执行 N*log22(N) 次元素比较,以及最多多次元素交换。
我想针对另一个具有相同运行时间的就地算法对其进行分析,所以我的问题简化为:如何模拟“内存不足”以便在stable_sort 中执行较慢的算法?
【问题讨论】:
-
Can we overload malloc()? 的可能重复项。也可以看看:How does sbrk() work in C++?
标签: c++ sorting memory in-place