一个序列中有10000个元素,若只想得到其中前10个最小元素,最好采用_______方法A.快速排序B.堆排序

题目

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

A.快速排序

B.堆排序

C.插入排序

D.二路归并排序

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

【单选题】如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序的序列,用()方法最快。

A.起泡排序

B.快速排序

C.Shell排序

D.堆排序

E.简单选择排序


D

第2题:

如果只想得到1000个元素组成的序列中第5个最小元素之前的序列,用()方法最快。

A.堆排序

B.冒泡排序

C.快速排序

D.Shell排序


D

第3题:

对于一个序列中的若干元素,若想得到某个元素之前的部分排序,最好采用什么排序方法? ( )

A.快速排序

B.堆排序

C.基数排序

D.希尔排序


正确答案:B

第4题:

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

A.堆排序

B.希尔排序

C.快速排序

D.直接插入排序


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

第5题:

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

A.堆排序

B.希尔排序

C.快速排序

D.直接插入排序


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

第6题:

如果只想得到1024个元素组成的序列中第5个最小元素之前的部分排序的序列,用 ( )方法最快。

A.冒泡排序

B.快速排序

C.简单选择排序

D.堆排序


正确答案:D
解析:从平均时间性能而言,快速排序最佳,其所需时间最少,但快速排序在最坏情况下的时间性能不如堆排序和归并排序。当序列中的记录基本有序或元素个数较少时,冒泡排序和简单选择排序为最佳排序方法,故本题答案应该为选项D。

第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题:

如果只想得到一个关键字序列中第k个最小元素之前的排序序列,最好采用(53)排序方法。如果有这样的一个序列(57,40,38,11,13,34,48,75,25,6,19,9,7),得到第4个最小元素之前的部分序列(6,7,9,11),使用所选择的算法实现时,要执行(54)次比较。

A.堆排序

B.快速

C.归算

D.基数排序


正确答案:A

第9题:

如果只想得到5000个元素组成的序列中最小的20个元素序列,用______方法最合适。

A.简单选择排序

B.Shell排序

C.堆排序

D.冒泡排序


正确答案:C
解析:冒泡排序与简单选择排序均需要进行20趟排序,才能找到题目所求的序列;Shell排序只有将这5000个元素全部排序完成,才能找到题目所求的序列,因此排除Shell排序;堆排序需要先建立初始堆后,再经过20次堆调整才能得到。冒泡排序、简单选择排序和堆排序这三种排序方法中堆排序的时间复杂度最小,所以选堆排序最合适。