客观题测试-第7章查找

2023-12-19 00:36
文章标签 查找 测试 客观

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

第1关:查找客观题测试(一)

1、关键字可以唯一地标识一个数据元素。

A、对

B、错

2、二叉排序树是一个动态查找表。

A、对

B、错

3、如果顺序表中各元素的查找概率相同,在顺序查找时,查找不成功的平均查找长度因元素有序排列或无序排列情况的不同而不同。

A、对

B、错

解:在有序排列的情况下,查找不成功的概率会比无序排列时要高。因为有序排列时,每个元素都有其固定的位置,所以查找不成功时,需要检查的元素数量会更多。因此,在有序排列的情况下,查找不成功的平均查找长度会比无序排列时要长。

相反,在无序排列的情况下,查找不成功的概率会相对较低。因为无序排列时,元素的位置是随机的,所以查找不成功时,需要检查的元素数量会相对较少。因此,在无序排列的情况下,查找不成功的平均查找长度会相对较短。

4、任意一棵二叉排序树的平均查找时间都小于用顺序查找法找到同样元素的顺序表的平均查找时间。

A、对

B、错

5、二叉排序树用中序遍历得到的一定是关键字的升序序列

A、对

B、错

6、m阶B树中每个非终端结点至少有m/2个子树。

A、对

B、错

7、若二叉排序树有n个结点,其关键字互不相等,则不论其形态如何,都必然有n种查找成功的情形和n+1种查找失败的情形。

A、对

B、错

8、二叉排序树删除一个结点时,如果该结点有左右子树,就用左子树的最右侧结点替换之,再处理该结点的删除问题。

A、对

B、错

9、二叉排序树的形态和输入无关。

A、对

B、错

10、对散列表进行查找时,如果该元素不存在表中,需要遍历所有表中元素后才能判断查找失败。

A、对

B、错

第2关:查找客观题测试(二)

1、采用链地址法构造的散列表不存在冲突现象。

A、对

B、错

解:好的,以下是一个例子来说明链地址法构造的散列表存在冲突现象:

假设我们使用链地址法构造一个散列表,其中散列函数是将元素的值映射到哈希表的索引。假设哈希表的长度为5,我们有以下元素:

  1. 元素A的值为5,哈希值为1
  2. 元素B的值为10,哈希值为2
  3. 元素C的值为15,哈希值为3
  4. 元素D的值为20,哈希值为4
  5. 元素E的值为25,哈希值为1

由于哈希表长度为5,索引0-4都是有效的哈希地址。但是,当我们将这些元素插入哈希表时,我们会遇到冲突现象。

首先,我们将元素A插入到索引1的位置。然后,我们将元素E插入到索引1的位置。由于索引1已经被元素A占用,因此元素E将无法插入到索引1的位置。此时,我们将使用链地址法来解决冲突。我们将元素E添加到索引1位置的链表中。

类似地,当我们将元素B插入到索引2的位置时,也会遇到冲突现象。由于索引2已经被元素C占用,因此元素B将无法插入到索引2的位置。此时,我们将使用链地址法来解决冲突。我们将元素B添加到索引2位置的链表中。

因此,尽管我们使用了链地址法来构造散列表,但在某些情况下仍然存在冲突现象。

 2、散列表中需要删除一个元素,不管用哪种方法处理冲突,都只需简单的把该元素删除即可。

A、对

B、错

3、如果要求一个线性表既能快速查找,又能适应动态变化的要求,最好采用哈希查找。

A、对

B、错

解:这个说法是错误的。哈希查找适用于数据结构中的查找操作,它可以在平均情况下实现接近O(1)的查找时间复杂度。然而,哈希查找并不适用于所有情况,特别是当数据结构需要频繁进行插入和删除操作时。

在动态变化的数据结构中,通常采用平衡二叉搜索树(如AVL树、红黑树等)或B树等数据结构,它们可以保持数据的有序性,同时支持快速的插入和删除操作。这些数据结构在插入和删除操作时,可以保持树的平衡,从而保证查找、插入和删除的时间复杂度都是O(log n)。

因此,如果要求一个线性表既能快速查找,又能适应动态变化的要求,最好采用平衡二叉搜索树或B树等数据结构,而不是哈希查找。

4、散列表的查找效率主要取决于构造散列表时选择的散列函数和处理冲突的方法。

A、对

B、错

5、B-树的查找过程是先在一个结点内部的关键字中寻找,再顺着指向子树的指针向下寻找。在一个结点内查找时,只能采用顺序查找方法。

A、对

B、错

6、散列表的装填因子 α 越小,发生冲突的可能性越大,反之 α 越大,发生冲突的可能性越小。

A、对

B、错

解:一般情况下,设散列表空间大小为m,填入表中的元素个数是n,则称α=n/m为散列表的装填因子。 

7、随着装填因子的增大,采用链地址法解决冲突,其平均查找长度比用开地址法解决冲突时的平均查找长度增长得慢。

A、对

B、错

解:在链地址法中,当发生冲突时,新插入的元素会被添加到链表的末尾。因此,随着装填因子的增大,链表中的元素数量会逐渐增加,但是每个元素仍然被分配一个固定的位置。因此,在链地址法中,平均查找长度与装填因子的大小关系相对较小。

而在开地址法中,当发生冲突时,新插入的元素会被分配到下一个可用的位置。因此,随着装填因子的增大,可用的位置会逐渐减少,导致平均查找长度逐渐增加。

 8、二叉排序树的平均查找长度为 O(log2​n)

A、对

B、错

9、n个关键字的有序表,折半查找的平均查找长度近似为 log2​(n+1)−1

A、对

B、错

10、散列表中二次聚集指的是散列表中出现的非同义词冲突。

A、对

B、错

第3关:查找客观题测试(三)

1、在平衡二叉树中插图一个结点后造成了不平衡,设最低的不平衡点为A,并已知A的左孩子的平衡因子为0,A的右孩子的平衡因子为-1,则应该做()型调整以使其平衡。

A、LL

B、LR 

C、RL

D、RR

2、若平衡二叉树的高度为5,且所有非叶子结点的平衡因子均为1,则该平衡二叉树的结点总数为()

A、10

B、12

C、20

D、32

3、对于长度为n的有序单链表,若查找每个元素的概率相等,则顺序查找表中任一元素的查找成功的平均查找长度为(    )

A、n/2

B、(n+1)/2

C、(n-1)/2

D、n/4

4、下面有关查找性能方面的叙述种错误的是(   )

A、查找成功的平均查找长度是指找到指定元素所需比较关键字的比较次数的期望值。

B、查找不成功的平均查找长度是指没有找到指定元素,但找到该元素插入位置所需关键字比较次数的期望值。

C、平均查找长度与元素的查找概率无关

D、平均查找长度与元素在结构中的分布情况有关。

5、设一个元素集合有n(n>1)个元素,分别存放在两个表中,表A按元素的关键子从小到大存放,表B则无序存放。若对表A按有序表的顺序查找算法,对表B按一般表的顺序查找算法从表的前端顺序查找。设查找表中每个元素的查找概率相同,则在两个表中平均查找长度为( )

A、表A大于表B

B、表A小于表B

C、表A与表B相同

D、谁大谁小不确定

6、对于长度为18的有序顺序表,若采用折半查找,则查找第15个元素(计数从1开始)的查找次数为( )

A、3

B、4

C、5

D、6

7、下列选项中不能构成折半查找中关键字比较序列的是(  )

A、500,200,450,180

B、500,450,200,180

C、180,500,200,450

D、180,200,500,450

8、折半查找与二叉排序树的时间性能(  )

A、相同

B、有时不相同

C、完全不相同

D、不定

解:二叉排序树在形态均匀时查找性能最好 ,此时与折半查找一样,为log2N

9、二叉树为二叉排序树的(   )条件是其任一结点的值均大于其左子女的值,小于其右子女的值

A、充分不必要

B、必要不充分

C、充分必要

D、既不充分也不必要

10、利用逐个数据插入的方法建立序列{35,45,25,55,50,10,15,30,40,20}对应的二叉排序树后,查找元素20需要进行( )次元素之间的比较。

A、4

B、5

C、7

D、10

第4关:查找客观题测试(四)

1、设任意一棵非空的二叉排序树T1中,删除某结点v之后形成的二叉排序树T2,再将v 插入T2形成二叉排序树T3.下列关于T1与T3的叙述中正确的是:

A、仅1,3

B、仅1,4

C、仅2,3

D、仅2,4

  1. 若v是T1的叶节点,则T1与T3不同。

  2. 若v是T1的叶节点,则T1与T3相同。

  3. 若v不是T1的叶节点,则T1与T3不同。

  4. 若v不是T1的叶节点,则T1与T3相同。

 

2、在顺序存储的线性表R[n]上进行顺序查找,设查找成功和查找不成功的概率相等,各占1/2,则总平均查找长度为(  )

A、(n+1)/2

B、3(n+1)/4

C、n

D、n(n+1)/2

3、当在一个有序的顺序表上进行查找时,既可以使用顺序查找,也可以使用折半查找,前者的查找速度(  )

A、一定没有后者快

B、取决于表是递增的还是递减的

C、在平均情况下比后者快

D、在平均情况下比后者慢

4、已知一个长度为16的顺序表L,其元素按照关键字有序排列。若采用折半查找法查找一个L中不存在的元素,则关键字比较次数最多为(  )次。

A、6

B、7

C、4

D、5

5、当采用分块查找时,数据的组织方式为( )

A、数据分成若干块,每块内数据有序。

B、数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块

C、数据分成若干块,每块内数据有序,但块间必须有序,每块内最大(或最小)的数据组成索引块

D、数据分成若干块,每块(除最后一块外)数据个数相等。

6、在二叉排序树中,关键字最小的结点的(  )

A、左指针一定为空。

B、右指针一定为空

C、左右指针均为空

D、左右指针均不为空

7、构造一棵具有n个结点的二叉排序树,在理想情况下树的深度为( )

A、n/2

B、n

C、⌊log2(n+1)⌋

D、⌈log2(n+1)⌉

8、高度为7的AVL树最多有( )结点。

A、63

B、64

C、65

D、127

9、已知一个长度为15的顺序表L,其元素按关键字大小有序排列。若采用折半查找法查找一个不存在的元素,则比较次数最多的是(     )

A、4

B、5

C、6

D、7

10、向一棵平衡二叉树上插入一元素时,可能要对最小不平衡子树进行调整,此调整分为( )种旋转类型。

A、2

B、3

C、4

D、5

第5关:查找客观题测试(五)

1、含有n个非终端结点的m阶B 树的关键字的个数最少是( )

A、n

B、(m-1)xn

C、nx(⌈m/2⌉-1)

D、(n-1)X(⌈m/2⌉-1)+1

2、在一棵高度为h的B树中插入一个新的关键字时,为查找插入位置,需读取的结点数为(  )

A、h-1

B、h

C、h+1

D、h+2

3、如果在一棵m阶B 树中删除关键字导致结点需要与其右兄弟或左兄弟结点合并,那么被删关键字所在结点(根节点除外)的关键字数在删除之前应为(  )

A、⌈m/2⌉

B、⌈m/2⌉-1

C、⌊m/2⌋

D、⌊m/2⌋-1

4、下面关于B树B+树的叙述错误的是(  )

A、B树和B+树都是平衡的多叉查找树。

B、B树和B+树都可用于文件的索引结构。

C、B树和B+树都能有效地支持顺序查找。

D、B树和B+树都能有效地支持随机查找。

5、以下说法中,不符合m阶B树定义要求的是( )

A、根节点最多m棵子树。

B、所有叶子节点都在同一层上。

C、各节点内关键字均升序或降序排列。

D、叶节点之间通过指针链接。

6、从19个元素中查找其中任意一个元素,如果最多进行4次元素之间的比较,则采用的查找方法只可能是( )

A、分块查找

B、折半查找

C、散列查找

D、二叉排序树

7、以下二叉树中,( )是完全二叉树。

A、AVL树

B、满二叉树

C、单支二叉树

D、二叉排序树

8、以下二叉排序树中查找效率最高的是(  )

A、AVL树

B、所有结点都没有右子女的二叉排序树

C、右子树为空的二叉排序树

D、所有结点都没有左子女的二叉排序树

9、若散列表采用开地址法解决冲突,发生堆积的原因主要是(  )

A、表中装入过多的记录

B、选择解决冲突的方法不适当

C、散列函数计算出的地址分布不均匀

D、装填因子过大

10、以下关于散列表的说法正确的是(  )

A、所有记录都按关键码有序排列

B、所有记录可以顺序存取

C、存取速度快但占用存储空间较多

D、若装填因子小,查找速度可达线性级

第6关:查找客观题测试(六)

1、设散列表长m=14,散列函数Hash(key)=key % 11。表中已有4个结点,地址分别为addr(15)=4, addr(38)=5,addr(61)=6,addr(84)=7,其余地址为空。如用二次探测法解决冲突,关键字值为49的散列地址为(  )

A、8

B、3

C、5

D、9

2、若将10个元素散列到容量为100000个元素的散列表中,则(  )产生冲突。

A、一定会

B、一定不会

C、仍可能会

D、以上都不对

3、已知一个线性序列{38,25,74,63,52,48},假定采用散列函数Hash(key)=key % 7 计算散列地址,并散列存储在散列表A[10]中,若采用线性探测法解决冲突,且个元素的查找概率相等,则在该散列表中查找成功的平均查找长度为(  )

A、1.50

B、1.67

C、1.83

D、2.24

4、已知一棵3阶B树,如图所示,删除关键字78得到一个新的B树,其最右叶结点中关键字是(  )

,

A、60

B、60,62

C、62,65

D、65

5、有一棵具有15个关键字的4阶B树,则含有关键字的结点数最多是(  )

A、5

B、6

C、10

D、15

6、在一棵高度为2的5阶B树中,所含关键字的个数最少是(  )

A、5

B、7

C、8

D、14

7、已知一棵5阶B树有53个关键字,并且每个结点的关键字都达到最少,则该树的高度是(  )

A、3

B、4

C、5

D、6

8、随着散列表的装填因子a 的增大,查找表中指定元素的平均查找长度也要增大,可以平稳控制平均查找长度的增大幅度达到最小的解决冲突的方法是( )

A、线性探测法

B、二次探测法

C、双散列法

D、链地址法

9、散列表采用链地址法解决冲突,查找成功的平均查找长度( )

A、直接与关键字个数有关

B、直接与表的长度有关

C、直接与装填因子有关

D、直接与散列函数有关

10、在如图所示的AVL树中,插入关键字22后,关键字24所在结点的左右子结点中保存的关键字是

,

A、20,53

B、22,53

C、13,53

D、20,22

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



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

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

Verybot之OpenCV应用二:霍夫变换查找圆

其实我是想通过这个程序来测试一下,OpenCV在Verybot上跑得怎么样,霍夫变换的原理就不多说了,下面是程序: #include "cv.h"#include "highgui.h"#include "stdio.h"int main(int argc, char** argv){cvNamedWindow("vedio",0);CvCapture* capture;i

Verybot之OpenCV应用一:安装与图像采集测试

在Verybot上安装OpenCV是很简单的,只需要执行:         sudo apt-get update         sudo apt-get install libopencv-dev         sudo apt-get install python-opencv         下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采

BIRT 报表的自动化测试

来源:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-birttest/如何为 BIRT 报表编写自动化测试用例 BIRT 是一项很受欢迎的报表制作工具,但目前对其的测试还是以人工测试为主。本文介绍了如何对 BIRT 报表进行自动化测试,以及在实际项目中的一些测试实践,从而提高了测试的效率和准确性 -------

可测试,可维护,可移植:上位机软件分层设计的重要性

互联网中,软件工程师岗位会分前端工程师,后端工程师。这是由于互联网软件规模庞大,从业人员众多。前后端分别根据各自需求发展不一样的技术栈。那么上位机软件呢?它规模小,通常一个人就能开发一个项目。它还有必要分前后端吗? 有必要。本文从三个方面论述。分别是可测试,可维护,可移植。 可测试 软件黑盒测试更普遍,但很难覆盖所有应用场景。于是有了接口测试、模块化测试以及单元测试。都是通过降低测试对象

day45-测试平台搭建之前端vue学习-基础4

目录 一、生命周期         1.1.概念         1.2.常用的生命周期钩子         1.3.关于销毁Vue实例         1.4.原理​编辑         1.5.代码 二、非单文件组件         2.1.组件         2.2.使用组件的三大步骤         2.3.注意点         2.4.关于VueComponen

Win8下如何快速查找和删除电脑中的病毒

Win8系统如何查找和删除病毒?检查你的电脑是否存在病毒的一种快速方法是使用 Windows Defender. 此恶意软件防护随 Windows 提供,可帮助识别和删除病毒、间谍软件和其他恶意软件。   注意:如果你使用的是 Windows RT,则 Windows Defender 会始终启用,并且不能关闭。   如果你使用的是 Windows 8,则可以根据自己的喜好运行由其他