若要对1000个元素排序,要求既快又稳定,则最好采用()方法。

题目

若要对1000个元素排序,要求既快又稳定,则最好采用()方法。

  • A、直接插入排序
  • B、归并排序
  • C、堆排序
  • D、快速排序
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有5000个元素,希望用最快速度挑选出其中前10个最大的元素,在以下的排序方法中,采用那一种最好( )。

A: 快速排序

B: 堆排序

C: 归并排序

D: 基数排序和shell排序


正确答案: B

第2题:

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


正确答案:C

第3题:

若要从1000个元素中得到2个最小值元素,最好采用()方法。

A.直接插入排序

B.直接选择排序

C.堆排序

D.快速排序


参考答案:B

第4题:

对于具有n个元素的一个数据序列,若只需要得到其中第A个元素之前的部分排序,最好采用(43)。

A.堆排序

B.希尔排序

C.快速排序

D.直接插入排序


正确答案:A
解析:对于具有n个元素的一个数据序列,对于只需得到最终序列的前k个元素,最好采用堆排序。对于希尔排序、直接插入排序,只有在排序过程后才能确保全部序列及前k个元素的最终排列。快速排序采用分治算法,常用递归算法实现,该算法根据枢轴元素进行划分,第一趟划分结束后得到了两个子序列,一个序列中的元素均不大于另一个子序列中的元素,枢轴元素介于这两个子序列之间。若仅需得到最终序列的前k个元素,每次得到枢轴元素位置后再考虑下一步的排序过程,在算法的流程控制上比较复杂。

第5题:

数据表A中有10000个元素,如果仅要求求出其中最大的10个元素,则采用()最节省时间。

A.堆排序

B.希尔排序

C.快速排序

D.希尔排序


正确答案:B

第6题:

如表r有100000个元素,前99999个元素递增有序,则采用()方法比较次数较少。

A、直接插入排序

B、快速排序

C、归并排序

D、选择排序


参考答案:A

第7题:

一个序列中有若干个元素,若只想得到其中第i个元素之前的部分排序,最好采用( )方法。 A.快排序 B.堆排序 C.插入排序 D.shell排序


正确答案:B
堆排序:n个关键字序列Kl,K2,…,Kn称为(Heap),当且仅当该序列满足如下性质(简称为堆性质):   (1) ki≤K2i且ki≤K2i+1 或(2)KiK2i且kiK2i+1(1≤i≤ n) //ki相当于二叉树的非叶结点,K2i则是左孩子,k2i+1是右孩子

第8题:

对于具有n个元素的一个数据序列,若只需得到其中第k个元素之前的部分排序,最好采用(59),使用分治(Divide and Conquer)策略的是(60)算法。

A.希尔排序

B.直接插入排序

C.快速排序

D.堆排序


正确答案:D
解析:本题考查排序算法及特点。对于希尔排序、直接插入排序,只有在排序过程后才能确保全部序列以及前k个元素的最终排列,快速排序采用分治算法,常用递归算法实现,该算法根据枢轴元素进行划分,第一趟划分结束后得到了两个子序列,一个序列中的元素均不大于另一个子序列中的元素,枢轴元素介于这两个子序列之间。若仅需得到最终序列的前k个元素,每次得到枢轴元素位置后再考虑下一步的排序过程,在算法的流程控制上比较复杂。对于只需得到最终序列的前k个元素,堆排序比较简单。

第9题:

一个序列中有10000个元素,若只想得到其中前10个最小元素,最好采用_______方法

A.快速排序

B.堆排序

C.插入排序

D.二路归并排序


正确答案:B

第10题:

对于具有n个元素的一个数据序列,若只需得到其中第k个元素之前的部分排序,最好采用(63)。

A.堆排序

B.希尔排序

C.快速排序

D.直接插入排序


正确答案:A
解析:对于具有n个元素的一个数据序列,对于只需得到最终序列的前k个元素,堆排序比较简单。对于希尔排序、直接插入排序,只有在排序过程后才能确保全部序列及前k个元素的最终排列。快速排序采用分治算法,常用递归算法实现,该算法根据枢轴元素进行划分,第一趟划分结束后得到了两个子序列,一个序列中的元素均不大于另一个子序列中的元素,枢轴元素介于这两个子序列之间。若仅需得到最终序列的前k个元素,每次得到枢轴元素位置后再考虑下一步的排序过程,在算法的流程控制上比较复杂。

更多相关问题