客观题测试-第8章排序

2023-12-19 17:20
文章标签 排序 测试 客观

本文主要是介绍客观题测试-第8章排序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第1关:排序客观题测试(一)

1、内排序要求待排序列一定要用顺序方式存储。

A、对

B、错

2、稳定的排序算法优于不稳定的排序算法,因为稳定的排序方法效率高。

A、对

B、错

3、对5个互异的整数进行排序,至少需要10次比较。

A、对

B、错

4、当待排序的元素序列的初始排列全部按关键字从大到小有序时,为把他们排成从小到大的顺序,希尔排序比直接插入排序快。

A、对

B、错

5、当待排序的元素序列的初始排列全部按关键字从小到大有序时,希尔排序比折半插入排序快。

A、对

B、错

6、折半插入排序的时间复杂度为 O(nlog2​n)

A、对

B、错

7、起泡排序每一趟都让一个元素放在它最终应在的位置。

A、对

B、错

8、在任何情况下,快速排序需要进行比较的次数都是 O(nlog2​n)

A、对

B、错

9、快速排序在所有元素基本有序的情况下,排序效率很低。当发现两个排序区间中有一个变得很小时,可以改用直接插入排序。

A、对

B、错

10、在所有待排序元素基本有序的情况下,起泡排序与直接插入排序的关键字比较次数和元素的移动次数都很少,这种情况下两种排序算法是等效的。

A、对

B、错

第2关:排序客观题测试(二)

1、堆采用完全二叉树的顺序存储表示。大根堆的最大元素一定是在某个叶节点上,n个元素组成的堆的深度为 (log2​n)+1

A、对

B、错

2、由于简单选择排序的关键字比较次数不受元素的初始排列影响,在最坏情况下,在几种简单排序方法中它的时间性能最好。

A、对

B、错

3、归并排序是原地排序。

A、对

B、错

4、二路归并的附加空间可以减少到 O(1)。

A、对

B、错

5、折半插入排序与直接插入排序的差别在于关键字的比较次数与待排序列的初始关键字排列无关。

A、对

B、错

6、在待排序列的初始排列已经有序时,简单选择排序的排序效率要优于起泡排序。

A、对

B、错

7、对于元素个数n很大,且元素关键字位数有限的情形,采用基数排序最好。

A、对

B、错

8、在最坏情况下快速排序的时间性能好于堆排序的时间性能。

A、对

B、错

9、使用希尔排序算法进行排序时,若关键字的初始排序是杂乱无序的,相比关键字的初始排列基本有序的情形,其排序的效率较低。

A、对

B、错

10、在顺序表上实现的排序方法在链表上也可以实现。

A、对

B、错

第3关:排序客观题测试(三) 

1、已知关键字序列{5,12,8,19,20,28,35,22}是小根堆,插入关键字3,调整后得到的小根堆是( )

A、3,5,12,8,19,20,28,35,22

B、3,5,8,12,20,28,35,22,19

C、3,12,5,19,20,28,8,35,22

D、3,5,8,12,19,35,22,28,20

2、以下不属于内排序方法的是 (  )

A、起泡排序

B、拓扑排序

C、基数排序

D、快速排序

3、排序算法的稳定性是指( )

A、经过排序后,能使指相同的数据保持原顺序中的相对位置不变。

B、经过排序后,能使指相同的数据保持原顺序中的绝对位置不变。

C、经过排序后,数据序列的存放数组的结构保持不变。

D、经过排序后,数据序列的存放数组的结构随之变化。

4、如果待排序元素存储在数据表中,排序后元素(  ),如果待排序元素存储在静态链表数组中,排序后元素(  )

A、一定移动,一定不移动

B、可能不移动,可能移动

C、可能移动,一定不移动

D、可能移动,可能不移动

5、对序列{49,38,65,97,76,13,47,50}采用直接插入排序,假设前6个元素已经排好序,如{13,38,49,65,76,93}。现在要把第7个元素47插入到已排序序列中,为寻找插入的合适位置,需要进行( )次元素间的比较。

A、3

B、4

C、5

D、6

6、对有n个元素的任意序列做直接插入排序,排序趟数是(  )

A、n-1

B、n

C、n+1

D、

,

 

7、用直接插入排序对以下序列做升序排列,元素移动次数最少的是( )

A、{94,32,40,90,80,46,21,69}

B、{32,40,21,46,69,94,90,80}

C、{21,32,40,46,69,80,94,90}

D、{90,69,80,46,21,32,94,40}

8、有一种排序方法,如果最小的元素位于待排序序列的最后,则在最后一趟排序开始之前,所有元素都不在其最终位置上,这种排序方法是(  )

A、起泡排序

B、直接插入排序

C、快速排序

D、简单选择排序

9、一个元素序列的关键字为{46,79,56,38,40,84},采用快速排序(以第一个元素为基准)得到的第一次划分的结果为(  )

A、{38,46,79,56,40,84}

B、{38,79,56,46,40,84}

C、{40,38,46,56,79,84}

D、{38,46,56,79,40,84}

10、下列选项中,不可能是快速排序第2趟排序结果的是( )

A、{2,3,5,4,6,7,9}

B、{2,7,5,6,4,3,9}

C、{3,2,5,4,7,6,9}

D、{4,2,3,5,7,6,9}

第4关:排序客观题测试(四)

1、对以下关键字序列用快速排序进行排序,(  )最慢。

A、{19,23,3,15,7,21,28}

B、{23,21,28,15,19,3,7}

C、{19,7,15,28,23,21,3}

D、{3,7,15,19,21,23,38}

2、对数据元素序列{49,72,68,13,38,50,97,27}进行排序,前3趟排序结束时的结果依次为: 第一趟:{13,72,68,49,38,50,97,27} 第二趟:{13,27,68,49,38,50,97,72} 第三趟:{13,27,38,49,68,50,97,72} 该排序采用的方法是(  )

A、直接插入排序

B、简单选择排序

C、起泡排序

D、快速排序

3、对n个元素的待排序的元素序列使用递归的快速排序算法时,为了保证排序过程的时间复杂度不超过

,

,必须做到(  )

A、每次序列的划分应在线性时间内完成

B、每次划分的两个子序列长度接近

C、每次归并在线性时间内完成

D、以上全是

4、查找效率最低的数据结构是( )

A、AVL树

B、大根堆

C、二叉排序树

D、有序顺序表

5、在二路归并排序的过程中,需要执行(  )趟二路归并

A、

,

B、O(n)

C、

,

D、

,

 

6、如果待排元素个数n很大,例如超过100000,关键字的基数固定且位数不大,则基数排序的时间复杂度接近(  )

A、O(1)

B、O(n)

C、

,

D、

,

 

7、如果需要在

,

的时间内完成对元素数组的排序,且要求算法是稳定的,则可以选择的排序方法是( )

A、堆排序

B、归并排序

C、快速排序

D、希尔排序

8、如果将所有中国人按照生日(不考虑年份,只考虑月,日)来排序,那么下列排序算法中排序速度最快的是( )

A、归并排序

B、希尔排序

C、快速排序

D、基数排序

9、适合并行处理的排序算法是( )

A、折半插入排序

B、起泡排序

C、快速排序

D、希尔排序

10、就排序算法所用的辅助空间代价而言,堆排序,快速排序和归并排序的关系为(  )

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

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

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

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

第5关:排序客观题测试(五)

1、若对27个元素只进行3趟多路归并排序,则选取的归并路数为(  )

A、2

B、3

C、4

D、5

2、堆排序是一种(  )排序,它的一个基本问题是如何建堆。

A、插入

B、选择

C、交换

D、归并

3、一组元素的关键字序列为{45,78,55,37,49,83}对其进行堆排序,所建的初始堆为(  )

A、78,45,55,37,49,83

B、83,78,55,45,49,37

C、83,55,78,49,45,37

D、83,78,55,37,49,45

4、设待排序元素存储于数组A[n]中,执行折半插入排序时,为插入第i个元素(1<=i<=n-1),需要做( )次关键字的比较

A、i-1

B、i

C、

,

D、

,

5、设待排序序列有n个元素,采用折半插入排序进行排序,在最坏情况下的时间代价是(  )

A、

,

B、

,

C、

,

D、

,

 

6、对一个待排序序列分别进行折半插入排序和直接插入排序,两者之间可能的不同之处是(  )

A、排序的总趟数

B、元素的移动次数

C、使用辅助空间的数量

D、元素之间的比较次数

7、希尔排序的组内排序采用的是( )

A、直接插入排序

B、折半插入排序

C、快速排序

D、归并排序

8、设待排序序列有n个元素,要将它们进行升序排序,当待排序序列的初始排列是( )时,执行起泡排序要进行n-1趟排序。

A、按值的大小从小到大排列

B、按值的大小从大从小排序

C、最小值的元素处在序列的最后

D、序列中元素的排列次序任意

9、采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中正确的是( )

A、递归次数于初始数据的排列次序无关

B、每次划分后,先处理较长的分区可以减少递归的次数

C、每次划分后,先处理较短的分区可以减少递归次数

D、递归次数与每次划分后得到的分区的处理顺序无关

10、在以下排序方法中,排序码比较次数与元素的初始排列无关的是(  )。

A、起泡排序

B、直接插入排序

C、简单选择排序

D、快速排序

 第6关:排序客观题测试(六)

1、对具有n个元素的初始大根堆执行堆排序,排序的趟数为( )

A、n

B、n-1

C、

,

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== 编辑 编辑

D、

,

2、以下排序算法中不稳定的是(  )

A、起泡排序

B、直接插入排序

C、基数排序

D、快速排序

3、有些算法在每趟排序过程中都会有一个元素被放置在其最终位置上,下列算法中不会出现此情况的是( )

A、希尔排序

B、堆排序

C、起泡排序

D、快速排序

4、用某种排序方法对数据序列{24,88,21,48,15,27,69,35,20}进行排列时,元素序列变化情况如下所示: 第一趟:20,15,21,24,48,27,69,35,88 第二趟:15,20,21,24,35,27,48,69,88 第三趟:15,20,21,24,27,35,48,69,88 则采用的方法是(  )

A、快速排序

B、选择排序

C、希尔排序

D、归并排序

5、若数据元素序列{11,12,13,7,8,9,23,4,5}是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是(  )

A、起泡排序

B、插入排序

C、选择排序

D、归并排序

6、为实现快速排序,待排序列宜采用的存储方式是(  )

A、顺序存储

B、散列存储

C、链式存储

D、索引存储

7、下列排序算法中占用辅助空间最多的是( )

A、归并排序

B、快速排序

C、堆排序

D、希尔排序

8、如果只想得到1024个随机排列的元素序列中的前4个最小元素,那么用( )方法最快。

A、直接插入排序

B、快速排序

C、希尔排序

D、堆排序

9、当待排序元素序列的元素个数较多,元素排序码的初始排列可能出现基本有序或基本逆序的情形,且对排序结果的稳定性不做要求时,宜采用(  )

A、希尔排序

B、堆排序

C、快速排序

D、简单选择排序

10、当待排序元素序列的元素个数较少,元素排序码的初始排列基本有序,且要求排序结果稳定时,宜采用( )

A、简单选择排序

B、快速排序

C、折半插入排序

D、直接插入排序

这篇关于客观题测试-第8章排序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/513043

相关文章

一文详解Java Stream的sorted自定义排序

《一文详解JavaStream的sorted自定义排序》Javastream中的sorted方法是用于对流中的元素进行排序的方法,它可以接受一个comparator参数,用于指定排序规则,sorte... 目录一、sorted 操作的基础原理二、自定义排序的实现方式1. Comparator 接口的 Lam

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

Java List排序实例代码详解

《JavaList排序实例代码详解》:本文主要介绍JavaList排序的相关资料,Java排序方法包括自然排序、自定义排序、Lambda简化及多条件排序,实现灵活且代码简洁,文中通过代码介绍的... 目录一、自然排序二、自定义排序规则三、使用 Lambda 表达式简化 Comparator四、多条件排序五、

JAVA数组中五种常见排序方法整理汇总

《JAVA数组中五种常见排序方法整理汇总》本文给大家分享五种常用的Java数组排序方法整理,每种方法结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录前言:法一:Arrays.sort()法二:冒泡排序法三:选择排序法四:反转排序法五:直接插入排序前言:几种常用的Java数组排序

Mybatis 传参与排序模糊查询功能实现

《Mybatis传参与排序模糊查询功能实现》:本文主要介绍Mybatis传参与排序模糊查询功能实现,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、#{ }和${ }传参的区别二、排序三、like查询四、数据库连接池五、mysql 开发企业规范一、#{ }和${ }传参的

C++快速排序超详细讲解

《C++快速排序超详细讲解》快速排序是一种高效的排序算法,通过分治法将数组划分为两部分,递归排序,直到整个数组有序,通过代码解析和示例,详细解释了快速排序的工作原理和实现过程,需要的朋友可以参考下... 目录一、快速排序原理二、快速排序标准代码三、代码解析四、使用while循环的快速排序1.代码代码1.由快

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接