为什么中间子数组MergeSort处于中间

时间:2019-06-16 15:31:57

标签: mergesort

因此,我遇到了mergesort,并注意到中间点存储在正确的子数组中。为什么要这样做?这更有益吗?我试图找出来,但无法找到任何说明这一点的文件。

在为left和rgiht分配子数组时的Python示例

    left = [] * midPoint
    for i in range(midPoint):
        left.append(array[i])

    right = [] * (n - midPoint)
    for i in range(midPoint, n):
        right.append(array[i])

1 个答案:

答案 0 :(得分:0)

当您将具有奇数值的数组划分为两个子数组时,哪个子数组(左或右)的值比另一个子数组的大小无关紧要。这只是一个实现细节。算法复杂度将保持不变-O(n * lg(n))。