使用n / 2额外存储空间的Mergesort算法

时间:2015-03-04 08:48:13

标签: algorithm sorting mergesort

Mergesort算法使用 n (输入大小)额外内存空间。我想知道是否可以将额外的内存空间从 n 减少到 n / 2

1 个答案:

答案 0 :(得分:1)

如果您正在对范围[left, right]进行递归调用,则将此范围的前半部分放入临时存储中,并将合并结果直接存储在此范围内。例如,如果我们的[left, right]范围包含:

[left, right] = 1 4 8 2 5 9

我们制作temp = [1 4 8]

然后开始将[left, right]的后半部分与temp合并并覆盖[left, right]