【2022秋线上作业-第六次-第13-15周】判断题+选择题

news/2024/11/25 20:53:42/

判断题

1.希尔排序是稳定的算法。

F
解析: 希尔排序是非稳定排序算法。
不稳定的排序算法:堆排序、快速排序、希尔排序、直接选择排序
稳定的排序算法:基数排序、冒泡排序、直接插入排序、折半排序、归并排序

2.在散列表中,所谓同义词就是具有相同散列地址的两个元素。

T
解析: 具有相同函数值的关键字对该散列函数来说称作同义词

3.对AVL树中的任一结点,其左、右子树的高度一定是一样的。

F
解析: AVL树也称作平衡二叉树,本质上是一棵二叉查找树,它的左右两个子树的高度差的绝对值不超过1。所以左右子树的高度不一定是一样的。

4.任何最小堆中从根结点到任一叶结点路径上的所有结点是有序的(从小到大)。

T
解析: 这里的路径指的是从根结点到一个叶节点一层一层向下移的时候所经过的结点。最小堆的一个结点一定比其子节点小,所以从根结点到任意叶节点路径上的所有结点是有序的。

5.将1、2、3、4、5、6顺序插入初始为空的AVL树中,当完成这6个元素的插入后,该AVL树的先序遍历结果是:4、2、1、3、5、6。

T
解析: 画图可知

6.将N个数据按照从小到大顺序组织存放在一个单向链表中。如果采用二分查找,那么查找的平均时间复杂度是O(logN)。

F
解析:
二分查找的平均复杂度是O(logN)没错,但是本题是按照顺序存放在单链表中,二分查找是不可以用链表存储的。
这是由链表的特性决定的。链表是很典型的顺序存储结构,数据在链表中的位置只能通过从头到尾的顺序检索得到,即使是有序的,要操作其中的某个数据也必须从头开始。
这和数组有本质的不同。数组中的元素是通过下标来确定的,只要你知道了下标,就可以直接存储整个元素。
所以折半查找只能在数组上进行。

7.任何二叉搜索树中同一层的结点从左到右是有序的(从小到大)。

T
解析: 二叉搜索树,小于根结点左子树,大于根结点放在右子树,所以左右大小是排序好的。

8.在一棵二叉搜索树上查找63,序列39、101、25、80、70、59、63是一种可能的查找时的结点值比较序列。

F
解析: 39后面是101,所以后面的所有元素应该要比39大,25明显不对。

9.对N个不同的数据采用冒泡排序进行从大到小的排序,当元素基本有序时交换元素次数肯定最多。

F
解析: 基本有序排列次数最少

10.要从50个键值中找出最大的3个值,选择排序比堆排序快。

T
解析: 选择排序只需要剩下的里面旋三次,而堆排列需要排列全部元素

选择题

1.用二分查找从100个有序整数中查找某数,最坏情况下需要比较的次数是:
A.7
B.10
C.50
D.99
解析
2^7=64>100/2=50

2.在下列查找的方法中,平均查找长度与结点个数无关的查找方法是:
A.顺序查找
B.二分法
C.利用哈希(散列)表
D.利用二叉搜索树
解析
散列复杂度为1

3.将10个元素散列到100000个单元的哈希表中,是否一定产生冲突?
A.一定会
B.可能会
C.一定不会
D.有万分之一的可能会
解析
有可能会存到一起

4.对一个长度为 10 的排好序的表用二分法查找,若查找不成功,至少需要比较的次数是()。
A.4
B.3
C.5
D.6
解析
2^3=8>10/2=5

5.(NeuDS_C++)在二叉排序树上查找关键码为28的结点(假设存在),则依次比较的关键码有可能是( )。
A.30, 36, 28
B.38, 48, 28
C.48, 18, 38, 28
D.60, 30, 50, 40, 38, 36

6.下列排序算法中,哪种算法可能出现:在最后一趟开始之前,所有的元素都不在其最终的位置上?(设待排元素个数N>2)
A.冒泡排序
B.插入排序
C.堆排序
D.快速排序
解析
插入排序可能插在第一个,所有元素后移一位

7.对一组数据{ 2,12,16,88,5,10 }进行排序,若前三趟排序结果如下:
第一趟排序结果:2,12,16,5,10,88
第二趟排序结果:2,12,5,10,16,88
第三趟排序结果:2,5,10,12,16,88
则采用的排序方法可能是:
A.冒泡排序
B.希尔排序
C.归并排序
D.基数排序
解析
每次排出一个最大值,所以是冒泡排序

8.下面四种排序算法中,稳定的算法是:
A.堆排序
B.希尔排序
C.归并排序
D.快速排序
解析
稳定的算法:
基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序
不稳定的算法:
堆排序、快速排序、希尔排序、直接选择排序

9.对于序列{ 49,38,65,97,76,13,27,50 },按由小到大进行排序,下面哪一个是初始步长为4的希尔排序法第一趟的结果?
A.13,27,38,49,50,65,76,97
B.49,13,27,50,76,38,65,97
C.49,76,65,13,27,50,97,38
D.97,76,65,50,49,38,27,13
解析
步长为4应该是49、76、50排序

10.有一组数据(15,9,7,8,20,-1,7,4),用堆排序的筛选方法建立的初始堆为()。
A.-1,4,8,9,20,7,15,7
B.-1,7,15,7,4,8,20,9
C.-1,4,7,8,20,15,7,9
D.A,B,C均不对。
解析
堆:
①完全二叉树
②parent>child
画图即得


http://www.ppmy.cn/news/2374.html

相关文章

Java入门笔记

目录Java入门笔记快捷键基础准备环境准备Java编译运行流程TODO自定义模板基础语法变量原理标识符标识符命名规则数据类型整数型浮点型类型转换引用数据类型面向对象类和对象判断一个对象是不是某个类方法传参可变参数基本数据类型传参字符串数据类型传参引用数据类型传参静态属…

学习下c++原来它和Java有很多相似的地方

Java和CJava和C区别简单学习下C语法C 是什么?C工作原理:C标识符C基本数据类型C关键字封装,继承,多态简单回顾下Java语法Java的基础语法:Java注释Java标识符Java修饰符Java 接口和继承Java8 新增的特性Java和C区别 Java…

DeepLab V3学习笔记

DeepLab V3遇到的问题和解决方法相关工作DeepLab V3中的两种模型结构cascaded modelASPP model相对于DeepLab V2的优化Multi-grid MethodASPP的改进消融实验cascaded model消融实验ASPP model消融实验和其他网络的对比实验总结网络模型图遇到的问题和解决方法 对于DeepLab系列…

三种设置session有效时间的方法

session的默认有效时间是30分钟(min) 方法一:使用java函数:session.setMaxInactiveInterval() 举例:设置的有效期是30分钟(min) session.setMaxInactiveInterval(30 * 60); //30分*60秒 注意:以秒(s)为单位。 如果设置的值为零…

LabVIEW编程LabVIEW开发 ADAM 4015热电阻输入模块例程与相关资料

LabVIEW编程LabVIEW开发 ADAM 4015热电阻输入模块例程与相关资料 ​研华公司的ADAM 4015是6通道热电阻输入模块,可以采集2线或3线热电阻输入信号,ADAM4015T课题采集热敏电阻的输入信号。模块在工业测量和监控的有着广泛的应用,它既可以支持A…

SAP S4HANA MM模块后台配置详解

目录 1. 常规设置 1.1 定义国家 1.2.计量单位配置 1.3.货币设置 1.4.维护日历 1.4.1 概念及功能说明 1.4.2 业务示例 1.4.3 配置步骤 2. 企业结构 2.1 定义和分配公司 2.2 设定评估级别、定义/分配工厂 2.2.1. 概念及功能说明 2.2.1. 业务示例 2.2.2. 配置步…

11月更新 | Visual Studio Code Python

我们很高兴地宣布,2022年11月发布的适用于 Visual Studio Code Python 和 Jupyter 扩展现已推出! 此版本包括以下改进: 迁移 isort 扩展 Pylance 默认关闭自动导入 Pylint 和 flake8 扩展 用于笔记本单元调试的“Just My Code” 如果您有…

3 个月前被裁员了,心情跌落谷底,直到我看到了这本神书…

3个月前的某一天,正在愉快的打工,突然被喊去谈话,然后就被辞退了。。 加入了找工作的大军 然而,因为疫情,因为大专学历的我,找工作比以往都艰难了许多 很多,纯粹就是因为学历,都不…