合并排序算法使用 n/2 额外内存 Space
Mergesort Algorithm Using n/2 Extra Memory Space
合并排序算法使用 n(输入大小)额外内存 space。我想知道是否可以将额外内存 space 从 n 减少到 n/2.
如果是递归调用范围[left, right]
,则将这个范围的前半部分放入暂存区,合并结果直接存放在这个范围内。例如,如果我们的 [left, right]
范围包含:
[left, right] = 1 4 8 2 5 9
我们制作temp = [1 4 8]
并开始将 [left, right]
的后半部分与 temp
合并并覆盖 [left, right]
。
合并排序算法使用 n(输入大小)额外内存 space。我想知道是否可以将额外内存 space 从 n 减少到 n/2.
如果是递归调用范围[left, right]
,则将这个范围的前半部分放入暂存区,合并结果直接存放在这个范围内。例如,如果我们的 [left, right]
范围包含:
[left, right] = 1 4 8 2 5 9
我们制作temp = [1 4 8]
并开始将 [left, right]
的后半部分与 temp
合并并覆盖 [left, right]
。