当前位置: 首页 > news >正文

第八章排序 选择题

1.选择题

1从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法,这种排序方法称为  

A.归并排序       B.冒泡排序        C.插入排序        D.选择排序

答案:C

2从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为  

A.归并排序       B.冒泡排序        C.插入排序        D.选择排序

答案:D

3对n个不同的关键字由小到大进行冒泡排序,在下列   情况下比较的次数最多。

A.从小到大排列好的                  B.从大到小排列好的   

 C.元素无序                          D.元素基本有序

答案:B

解释:对关键字进行冒泡排序,关键字逆序时比较次数最多。

4对n个不同的排序码进行冒泡排序,在元素无序的情况下比较的次数最多为  

A.n+1            B.n               C.n-1              D.n(n-1)/2

答案:D

解释:比较次数最多时,第一次比较n-1次,第二次比较n-2次……最后一次比较1次,即(n-1)+(n-2)++1= n(n-1)/2

5快速排序在下列   情况下最易发挥其长处。

A.被排序的数据中含有多个相同排序码  

B.被排序的数据已基本有序  

C.被排序的数据完全无序         

D.被排序的数据中的最大值和最小值相差悬殊

答案:C

解释:B选项是快速排序的最坏情况。

6对n个关键字作快速排序,在最坏情况下,算法的时间复杂度是  

A.O(n)           B.O(n2)            C.O(nlog2n)         D.O(n3)

答案:B

解释:快速排序的平均时间复杂度为O(nlog2n),但在最坏情况下,即关键字基本排好序的情况下,时间复杂度为O(n2)

7若一组记录的排序码为(46, 79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为  

A.38,40,46,56,79,84               B.40,38,46,79,56,84

C.40,38,46,56,79,84               D.40,38,46,84,56,79

答案:C

8下列关键字序列中,   是堆。

A.16,72,31,23,94,53               B.94,23,31,72,16,53

C.16,53,23,94,31,72               D.16,23,53,31,94,72

答案:D

解释:D选项为小根堆

9堆是一种   排序。

A.插入         B.选择         C.交换          D.归并

答案:B

10堆的形状是一棵  

A.二叉排序树   B.满二叉树     C.完全二叉树    D.平衡二叉树

答案:C

11若一组记录的排序码为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆为  

A.79,46,56,38,40,84               B.84,79,56,38,40,46          

C.84,79,56,46,40,38               D.84,56,79,40,46,38

答案:B

12下述几种排序方法中,要求内存最大的是  

A.希尔排序        B.快速排序         C.归并排序       D.堆排序

答案:C

解释:堆排序、希尔排序的空间复杂度为O(1),快速排序的空间复杂度为O(log2n),归并排序的空间复杂度为O(n)

13下述几种排序方法中,   是稳定的排序方法。

A.希尔排序        B.快速排序         C.归并排序       D.堆排序

答案:C

解释:不稳定排序有希尔排序、简单选择排序、快速排序、堆排序;稳定排序有直接插入排序、折半插入排序、冒泡排序、归并排序、基数排序。

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

A.冒泡排序        B.快速排序         C.简单选择排序   D.堆排序

答案:D

15下列排序算法中,   不能保证每趟排序至少能将一个元素放到其最终的位置上。

A.希尔排序        B.快速排序         C.冒泡排序       D.堆排序

答案:A

解释:快速排序的每趟排序能将作为枢轴的元素放到最终位置;冒泡排序的每趟排序能将最大或最小的元素放到最终位置;堆排序的每趟排序能将最大或最小的元素放到最终位置。

http://www.dtcms.com/a/278950.html

相关文章:

  • 【HarmonyOS】元服务入门详解 (一)
  • 从“直觉抢答”到“深度思考”:大模型的“慢思考”革命,思维链、树、图如何让AI越来越像人?
  • 生产者消费者问题,详解(操作系统os)
  • 扩散生成基础原理(二)——DDPM概率去噪扩散模型
  • 1.2.1 面向对象详解——AI教你学Django
  • git 下载报错:fetch-pack: unexpected disconnect while reading sideband packet
  • 139-CNN-BiLSTM-Selfattention-ABKDE预测模型!
  • 深度学习基础:损失函数(Loss Function)全面解析
  • 搭建k8s高可用集群,“Unable to register node with API server“
  • LINUX714 自动挂载/nfs;物理卷
  • 侧链的出现解决了主链哪些性能瓶颈?
  • Android系统的问题分析笔记 - Android上的调试方式 debuggerd
  • .NET 9 GUID v7 vs v4:时间有序性如何颠覆数据库索引性能
  • 如何快速去除latex表格中的加粗
  • 杨辉三角的认识与学习
  • 图像修复:深度学习GLCIC神经网络实现老照片划痕修复
  • 未来手机会自动充电吗
  • 计算机毕业设计Java医学生在线学习平台系统 基于 Java 的医学生在线学习平台设计与开发 Java 医学在线教育学习系统的设计与实现
  • React 和 Vue的自定义Hooks是如何实现的,如何创建自定义钩子
  • CSP-S 模拟赛 17
  • 单片机(STM32-串口通信)
  • IP相关
  • CSS `:root` 伪类深入讲解
  • Java final 关键字
  • iOS APP 上架流程:跨平台上架方案的协作实践记录
  • STM32F1_Hal库学习UART
  • 【脚本系列】如何使用 Python 脚本对同一文件夹中表头相同的 Excel 文件进行合并
  • 设计模式--工厂模式
  • SSE(Server-Sent Events)和 MQTT(Message Queuing Telemetry Transport)
  • 多线程--单例模式and工厂模式