下述python代码实现了快速排序算法,下面说法错误的是( )。

cb086061 单选题 共 个子题
def partition(arr, low, high):

    i, j = low, high
    while i < j:
        while i < j and arr[j] >= arr[low]:
            j -= 1
        while i < j and arr[i] <= arr[low]:
            i += 1
        arr[i], arr[j] = arr[j], arr[i]
    arr[i], arr[low] = arr[low], arr[i]
    return i

def quickSort(arr, low, high):
    if low < high:
        pivot = partition(arr, low, high)
        quickSort(arr, low, pivot - 1)
        quickSort(arr, pivot + 1, high)
A

快速排序平均情况下比归并排序的比较、赋值、交换等操作的总数量少,所以命名为“快速”。

B

在平均情况下,划分的递归层数为 $\log n$,每层中的总循环数为 $n$,总时间为 $O(n\log n)$。

C

在最差情况下,每轮划分操作都将长度为 $n$ 的数组划分为长度为 0 和 $n-1$ 的两个子数组,此时递归层数达到 $n$,每层中的循环数为 $n$,总时间为 $O(n^2)$。

D

划分函数中“从右往左查找”与“从左往右查找”的顺序可以互换。

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