相关疑难解决方法(0)

如何使用合并排序算法进行就地排序?

我知道问题不是太具体.

我想要的只是告诉我如何将普通合并排序转换为就地合并排序(或具有恒定额外空间开销的合并排序).

我所能找到的(网上)是"太复杂"或"超出本文范围"的网页.

唯一已知的就地合并方式(没有任何额外空间)太复杂,无法简化为实际程序.(取自这里)

即使它太复杂,如何使合并排序到位的基本概念是什么?

arrays sorting algorithm mergesort in-place

229
推荐指数
7
解决办法
14万
查看次数

inplace_merge:是什么导致了 N*log(N) 与 N-1 的复杂性?

从关于 inplace_merge 的 C++ 文档中,算法的复杂性是“如果使用内部缓冲区,则在比较中为线性 (N-1),否则为 NlogN(其中 N 是范围 [first,last) 中的数字元素)”。内部缓冲区是什么意思,是什么导致 O(N-1) 与 O(NlogN) 的复杂性?

c++ complexity-theory merge

5
推荐指数
1
解决办法
512
查看次数