第26735题 单选题
下列关于给定Python快速排序实现的说法中,错误的是()
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

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

C

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

D

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

程序运行统计
暂无判题统计