Mergesort算法使用n(输入大小)额外的内存空间我想知道是否可以将额外的内存空间从n减少到n/2。
最佳答案
如果正在递归调用范围[left, right]
,则将此范围的前半部分放入临时存储中,并将合并结果直接存储在此范围中。例如,如果我们的[left, right]
范围包含:
[left, right] = 1 4 8 2 5 9
我们制作
temp = [1 4 8]
开始合并
[left, right]
的后半部分和temp
并覆盖[left, right]
。关于algorithm - 使用n/2额外存储空间的Mergesort算法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28850032/