Algorithm 使用n/2额外内存空间的合并排序算法
合并排序算法使用n(输入大小)额外的内存空间。我想知道,如果您正在递归调用范围Algorithm 使用n/2额外内存空间的合并排序算法,algorithm,sorting,mergesort,Algorithm,Sorting,Mergesort,合并排序算法使用n(输入大小)额外的内存空间。我想知道,如果您正在递归调用范围[左,右],是否可以将额外的内存空间从n减少到n/2,然后将此范围的前半部分放入临时存储,并将合并结果直接存储在此范围内。例如,如果我们的[左,右]范围包含: [left, right] = 1 4 8 2 5 9 我们制作temp=[1 4 8] 然后开始将[left,right]的后半部分与temp合并,并覆盖[left,right]从
[左,右]
,是否可以将额外的内存空间从n减少到n/2,然后将此范围的前半部分放入临时存储,并将合并结果直接存储在此范围内。例如,如果我们的[左,右]
范围包含:
[left, right] = 1 4 8 2 5 9
我们制作temp=[1 4 8]
然后开始将
[left,right]
的后半部分与temp
合并,并覆盖[left,right]
从