快速排序算法的性能取决于()。

题目

快速排序算法的性能取决于()。


相似考题
更多“快速排序算法的性能取决于()。”相关问题
  • 第1题:

    下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的是()

    A.插入排序

    B.堆排序

    C.冒泡排序

    D.快速排序


    正确答案:B

  • 第2题:

    快速排序算法怎样抽取分割元素


    参考答案:采用随机抽取。对于数组a[p:q],用v=a[p]作为分割元素。

  • 第3题:

    在下列排序算法中,哪一个算法的时间复杂度与初始排序无关()。

    A、直接插入排序

    B、冒泡排序

    C、快速排序

    D、直接选择排序


    参考答案:D

  • 第4题:

    占用的额外空间的空间复杂度为0(1)的排序算法是()。

    A.堆排序算法
    B.归并排序算法
    C.快速排序算法
    D.以上答案都不对

    答案:A
    解析:
    归并排序中,由于每一趟都要一个TR数组来复制,因此需要与待排记录等量的辅助空间O(n);而快速排序中的递归所耗费的栈空间最好情况下也要O(logn);堆排序仅在交换是需要一个记录的辅助空间。

  • 第5题:

    简述归并排序算法和快速排序算法的分治方法。


    正确答案: 1)归并排序的分治是将数组从中间分开,分别对前后来那个部分进行排序,将排序后的两个数组合并成整个数组的排序。这样分治为递归过程,直到一个元素时返回。
    2)快速排序的分治是选取分割元素,以分割元素为界,将数组分成两部分,一部分小于分割元素,一部分大于分割元素,分别对两部分排序。

  • 第6题:

    数据结构与算法中,快速排序的特性描述正确的是()。

    • A、快速排序是稳定排序
    • B、快速排序不稳定排序
    • C、快速排序的时间复杂度是O(nlog2n)
    • D、快速排序的时间复杂度是O(n*n)

    正确答案:B,C

  • 第7题:

    下列排序算法中,()算法可能会出现:初始数据为正序时,花费的时间反而最多。

    • A、堆排序
    • B、起泡排序
    • C、归并排序
    • D、快速排序

    正确答案:D

  • 第8题:

    数据结构与算法里,冒泡排序与快速排序都是插入排序。


    正确答案:错误

  • 第9题:

    请说明快速排序算法的原理。


    正确答案:按照元素的值进行划分;对给定数组中的元素进行重新排列,以得到一个快速排序的分区;在一个分区中,所有在s下标之前的元素都小于等于A[s],所有在s下标之后的元素都大于等于A[s];建立了一个分区以后,A[s]已经位于它在有序数组中的最终位置。接下来使用同样的方法继续对A[s]前和A[s]后的子数组分别进行排序。

  • 第10题:

    多选题
    以下排序算法中,属于交换排序的算法有()
    A

    希尔排序

    B

    冒泡排序

    C

    快速排序

    D

    简单选择排序


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

  • 第11题:

    填空题
    快速排序算法的性能取决于()。

    正确答案: 划分的对称性
    解析: 暂无解析

  • 第12题:

    填空题
    快速排序算法是基于()的一种排序算法。

    正确答案: 分治策略
    解析: 暂无解析

  • 第13题:

    下列排序算法中,平均效率最低的排序算法是()

    A、插入法

    B、冒泡法

    C、选择法

    D、快速排序法


    参考答案:B

  • 第14题:

    就排序算法所用的辅助空间而言,堆排序、快速排序、归并排序的关系是()。A、堆排序<快速排序&l

    就排序算法所用的辅助空间而言,堆排序、快速排序、归并排序的关系是()。

    A、堆排序<快速排序<归并排序

    B、堆排序<归并排序<快速排序

    C、堆排序>归并排序>快速排序

    D、堆排序>快速排序>归并排序


    参考答案:A

  • 第15题:

    比较直接插入排序、起泡排序、简单选择排序、快速排序、堆排序、2一路归并排序和基数排序的算法性能,并填写下表:

    A.O(n2)

    B.O(n)

    C.O(1)

    D.O(nlogn)

    E.O(dn)


    正确答案:A
    解析:1.按平均的时间性能来分,有3类排序方法:1)时间复杂度为O(niogn)的方法有:快速排序、堆排序和归并排序。其中快速排序目前被认为是最快的一种排序方法,后两者之比较,在n值较大的情况下,归并排序较堆排序更快。2)时间复杂度为O(n2)的有:插入排序、起泡排序和选择排序。其中以插入排序为最常用,特别是对于已按关键字基本有序排列的记录序列尤为如此,选择排序过程中记录移动次数最少。3)时间复杂度为O(n)的排序方法只有基数排序一种。●当待排记录序列按关键字顺序有序时,插入排序和起泡排序能达到O(n)的时间复杂度;而对于快速排序而言,这是最不好的情况,此时的时间性能蜕化为O(n2),因此应尽量避免。●选择排序、堆排序和归并排序的时间性能不随记录序列中关键字的分布而改变。●以上对排序的时间复杂度的讨论主要考虑排序过程中所需进行的关键字之间的比较次数。当待排序记录中其他各数据项比关键字占有更大的数据量时,还应考虑到排序过程中移动记录的操作时间,有时这种操作的时间在整个排序过程中占的比例更大,从这个观点考虑,简单排序的3种排序方法中起泡排序效率最低。2.按排序过程中所需的辅助空间大小来分。1)所有的简单排序方法(包括;插入、起泡和选择排序)和堆排序的空间复杂度均为O(1)。2)快速排序为O(nlogn),为递归程序执行过程中栈所需的辅助空间。3)归并排序和基数排序所需辅助空间最多,其空间复杂度为O(n)。

  • 第16题:

    快速排序算法是基于()的一种排序算法。


    正确答案:分治策略

  • 第17题:

    以下排序算法中,属于交换排序的算法有()

    • A、希尔排序
    • B、冒泡排序
    • C、快速排序
    • D、简单选择排序

    正确答案:B,C

  • 第18题:

    下列排序算法中,()算法可能会出现下面情况:初始数据有序时,花费的间反而最多。

    • A、堆排序
    • B、冒泡排序
    • C、快速排序
    • D、SHELL排序

    正确答案:C

  • 第19题:

    快速排序是排序算法中最快的一种。


    正确答案:错误

  • 第20题:

    数据结构与算法中,以下的排序是内排序的是()。

    • A、希尔排序
    • B、快速排序

    正确答案:A,B

  • 第21题:

    单选题
    就排序算法所用的辅助空间而言,堆排序,快速排序,归并排序的关系是(  )。
    A

    堆排序<快速排序<归并排序

    B

    堆排序<归并排序<快速排序

    C

    堆排序>归并排序>快速排序

    D

    堆排序>快速排序>归并排序E.以上答案都不对


    正确答案: D
    解析:

  • 第22题:

    问答题
    简述归并排序算法和快速排序算法的分治方法。

    正确答案: 1)归并排序的分治是将数组从中间分开,分别对前后来那个部分进行排序,将排序后的两个数组合并成整个数组的排序。这样分治为递归过程,直到一个元素时返回。
    2)快速排序的分治是选取分割元素,以分割元素为界,将数组分成两部分,一部分小于分割元素,一部分大于分割元素,分别对两部分排序。
    解析: 暂无解析

  • 第23题:

    多选题
    数据结构与算法中,快速排序的特性描述正确的是()。
    A

    快速排序是稳定排序

    B

    快速排序不稳定排序

    C

    快速排序的时间复杂度是O(nlog2n)

    D

    快速排序的时间复杂度是O(n*n)


    正确答案: D,B
    解析: 暂无解析