下面代码实现了归并排序。下述关于归并排序的说法中,不正确的是( )。

af005536 单选题 共 个子题
def merge(arr, temp, l, mid, r):
    i = l
    j = mid + 1
    k = l

    while i <= mid and j <= r:
        if arr[i] <= arr[j]:
            temp[k] = arr[i]
            i += 1
        else:
            temp[k] = arr[j]
            j += 1
        k += 1

    while i <= mid:
        temp[k] = arr[i]
        i += 1
        k += 1

    while j <= r:
        temp[k] = arr[j]
        j += 1
        k += 1

    for p in range(l, r + 1):
        arr[p] = temp[p]

def merge_sort(arr, temp, l, r):
    if l >= r:
        return
    mid = l + (r - l) // 2

    merge_sort(arr, temp, l, mid)
    merge_sort(arr, temp, mid + 1, r)
    merge(arr, temp, l, mid, r)
def merge_sort_wrapper(arr):
    if not arr:
        return []
    temp = [0] * len(arr)
    merge_sort(arr, temp, 0, len(arr) - 1)
    return arr
A

归并排序的的平均复杂度是 $O(n\log n)$。

B

归并排序需要 $O(n)$ 的额外空间。

C

归并排序在最坏情况的时间复杂度是 $O(n^2)$。

D

归并排序适合大规模数据。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧