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/

10-13 04:43