快速排序算法的平均时间复杂度为()。A、O(n)B、O(n2)C、O(nlog2n)D、O(log2n!)

题目

快速排序算法的平均时间复杂度为()。

  • A、O(n)
  • B、O(n2)
  • C、O(nlog2n)
  • D、O(log2n!)

相似考题
更多“快速排序算法的平均时间复杂度为()。A、O(n)B、O(n2)C、O(nlog2n)D、O(log2n!)”相关问题
  • 第1题:

    对有n个记录的表作快速排序,在最坏情况下,算法的时间复杂度是()

    A. O(n)

    B. O(n2)

    C. O(nlog2n)

    D. O(n3)


    正确答案:B

  • 第2题:

    用快速排序的方法对包含n个关键字的序列进行排序,最坏情况下执行的时间为

    A.O(n)

    B.O(log2n)

    C.O(nlog2n)

    D.O(n2)


    正确答案:D
    解析:快速排序的平均执行时间为O(nlog2n),优于冒泡排序,直接插入排序方法,但最坏的情况,即记录初始已排好序的情况下,执行时间为O(n2)。

  • 第3题:

    冒泡排序的时间复杂度为A.O(n) B.O(n2) C.O(log2n) D.O(nlog2n)


    正确答案:B
    冒泡排序的基本概念是:以升序为例,依次比较相邻的两个数,将小数放在前面,大数放在后面。第一趟排序过程是这样的,首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。这样一次排序后,最后一个数为所有数中的最大数。第二趟排序重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最大数。如此下去,直至最终完成排序。
    冒泡排序的时间复杂度是指执行冒泡排序算法所需要的时间。冒泡排序算法最好的时间复杂度为所要排序的数列为正序,即在执行排列算法之前就已经达到目标的顺序。这样只需要执行一次排序算法,算法所需要进行数据比较的次数为n-1次。冒泡排序算法最差的时间复杂度为当前所要进行排列的数列顺序与目标数列的顺序相反。算法所需要进行数据比较的次数为n(n-1)/2=O(n2)。算法的平均时间复杂度为O(n2)。

  • 第4题:

    对n个基本有序的整数进行排序,若采用插入排序算法,则时间和空间复杂度分别为(62);若采用快速排序算法,则时间和空间复杂度分别为(63)。

    A.O(n2)和O(n)

    B.O(n)和O(n)

    C.O(n2)和O(1)

    D.O(n)和O(1)


    正确答案:C
    本题考查基本排序算法的时间复杂度与空间复杂度。

  • 第5题:

    对n个元素进行堆排序时,最坏情况下的时间复杂度为(53)。

    A.O(log2n)

    B.O(n)

    C.O(nlog2n)

    D.O(n2)


    正确答案:C
    解析:堆排序性能比较稳定,即使在最坏情况下的时间复杂度也是O(nlog2n)。

  • 第6题:

    在对n个元素进行堆排序的过程中,时间复杂度为()

    • A、 O(1)
    • B、 O(log2n)
    • C、 O(n2
    • D、 O(nlog2n)

    正确答案:D

  • 第7题:

    直接插入排序算法的时间复杂度为()。

    • A、O(n)
    • B、O(n2
    • C、O(log2n)
    • D、O(1)

    正确答案:B

  • 第8题:

    在对n个元素进行堆排序的过程中,空间复杂度为()

    • A、 O(1)
    • B、 O(log2n)
    • C、 O(n2
    • D、 O(nlog2n)

    正确答案:A

  • 第9题:

    在对n个元素进行直接插入排序的过程中,算法的空间复杂度为()

    • A、O(1)
    • B、O(log2n)
    • C、O(n2
    • D、O(nlog2n)

    正确答案:A

  • 第10题:

    数据结构与算法里,比荷兰国旗算法时间复杂度低的是()。

    • A、O(n*n)
    • B、O(nlog2n)
    • C、O(log2n)
    • D、O(2^n)

    正确答案:C

  • 第11题:

    某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示()。

    • A、O(n)
    • B、O(nlog2n)
    • C、O(n2)
    • D、O(log2n)

    正确答案:C

  • 第12题:

    单选题
    在对n个元素进行堆排序的过程中,时间复杂度为()
    A

     O(1)

    B

     O(log2n)

    C

     O(n2

    D

     O(nlog2n)


    正确答案: C
    解析: 暂无解析

  • 第13题:

    对于快速排序,元素有序排列时的时间复杂度为(57)。

    A.O(log2n)

    B.O(n)

    C.O(nlog2n)

    D.O(n2)


    正确答案:D
    解析:对于快速排序,元素有序排列是其最坏情况,时间复杂度为O(n2)。当每次划分都可以将待排序列分为均匀的两部分时,进行的排序趟数最少,时间复杂度为O(nlog2n)。

  • 第14题:

    对n个元素进行快速排序时,最坏情况下的时间复杂度为(55)。

    A.O(log2n)

    B.O(n)

    C.O(nlog2n)

    D.O(n2)


    正确答案:D
    解析:快速排序在最坏情况下的时间复杂度退化到一般的交换排序,即为O(n2)。

  • 第15题:

    用归并排序方法,在最坏情况下的时间复杂度为( )。

    A.O(n+1)

    B.O(n2)

    C.O(log2n)

    D.O(nlog2n)


    正确答案:D
    解析:一个完整的归并排序需要进行[log2n)次,实现归并排序需要和代派序列元素个数等量的辅助空间,其时间复杂度为O(nlog2n)。

  • 第16题:

    若总是以待排序列的第一个元素作为基准元素进行快速排序,那么最好情况下的时间复杂度为(65)。

    A.O(log2n)

    B.O(n)

    C.O(nlog2n)

    D.O(n2)


    正确答案:C
    解析:本题考查快速排序算法。对于快速排序,元素有序排列是其最坏情况,时间复杂度为O(n2)。当每次划分都可以将待排序列分为均匀的两部分时,进行的排序趟数最少,时间复杂度为O(nlog2n)。

  • 第17题:

    对n个元素进行快速排序时,最坏情况下的时间复杂度为______。

    A.O(log2n)

    B.O(n)

    C.O(nlog2n)

    D.O(n2)


    正确答案:D
    解析:最坏情况发生在每次划分过程产生的两个区间分别包含n-1个元素和1个元素的时候。其时间复杂度为0(n2)。

  • 第18题:

    直接插入排序在最好情况下的时间复杂度为()。

    • A、O(log2n)
    • B、O(n)
    • C、O(nlog2n)
    • D、O(n2

    正确答案:B

  • 第19题:

    对有n个记录的表作快速排序,在最坏情况下,算法的时间复杂度是()

    • A、O(n)
    • B、O(n2
    • C、O(nlog2n)
    • D、O(n3

    正确答案:B

  • 第20题:

    在对n个元素进行快速排序的过程中,平均情况下的时间复杂度为()

    • A、O(1)
    • B、O(log2n)
    • C、O(n2
    • D、O(nlog2n)

    正确答案:D

  • 第21题:

    对n个关键字作快速排序,在最坏情况下,算法的时间复杂度是()。

    • A、O(n)
    • B、O(n2
    • C、O(nlog2n)
    • D、O(n3

    正确答案:B

  • 第22题:

    采用简单选择排序,比较次数与移动次数分别是()

    • A、O(n),O(log2n)
    • B、O(log2n),O(n2
    • C、O(n2),O(n)
    • D、O(nlog2n),O(n)

    正确答案:C

  • 第23题:

    单选题
    在对n个元素进行堆排序的过程中,空间复杂度为()
    A

     O(1)

    B

     O(log2n)

    C

     O(n2

    D

     O(nlog2n)


    正确答案: A
    解析: 暂无解析