更多“用二分法进行插入排序,记录移动个数为A.O(nlog2n)B.O(n2)C.O(log2n)D.O(n) ”相关问题
  • 第1题:

    冒泡排序的时间复杂度为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)。

  • 第2题:

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

    A.O(n+1)

    B.O(n2)

    C.O(log2n)

    D.O(nlog2n)


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

  • 第3题:

    ●Suppose elements in array A are already sorted ascending order of their values when the code begins to run, then execution time of the code will be ()。()A. O(log2n) B. O(n) C. O(nlog2n) D. O(n2)


    正确答案:D
    执行一个包含递增数组元素的算法的时间复杂度是。。。

  • 第4题:

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

    A.O(n+1)

    B.O(n2)

    C.O(log2n)

    D.O(n log2n)


    正确答案:D

  • 第5题:

    二叉排序树的平均检索长度与二分法检索的长度都是

    A.O(nlog2n)

    B.O(n2)

    C.O(log2n)

    D.O(n)


    正确答案:C
    解析:二叉排序树的平均检索长度与二分法检索的长度都是O(log2n)。