若要对1000个元素排序,要求既快又节省存储空间,则最好采用()

题目

若要对1000个元素排序,要求既快又节省存储空间,则最好采用()方法。

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

第1题:

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

A.希尔排序

B.直接插入排序

C.快速排序

D.堆排序


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

第2题:

一个序列中有若干个元素,若只想得到其中第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是右孩子

第3题:

若一个线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用()存储方式最节省时间。


参考答案:顺序表

第4题:

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

A.堆排序

B.希尔排序

C.快速排序

D.直接插入排序


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

第5题:

已知数据表A中每个元素距其最终位置不远,则采用(17)排序算法最节省时间。

A.堆排序

B.插入排序

C.快速排序

D.直接选择排序


正确答案:B
解析:采用插入排序。

第6题:

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


正确答案:C

第7题:

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

A.堆排序

B.希尔排序

C.快速排序

D.希尔排序


正确答案:B

第8题:

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

(59)A. 希尔排序 B. 直接插入排序 C. 快速排序 D. 堆排序

(60)A. 冒泡排序 B. 插入排序 C. 快速排序 D. 堆排序


正确答案:D,C




 

第9题:

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

A.快速排序

B.堆排序

C.插入排序

D.二路归并排序


正确答案:B

第10题:

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

A.堆排序

B.希尔排序

C.快速排序

D.直接插入排序


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

更多相关问题