1-选择题练手

news2025/1/13 10:33:10

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

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

B.递归次数与初始数据的排列次序无关

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

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

:D

递归次数,取决于递归树,而递归树取决于轴枢的选择。树越平衡,递归次数越少。

而对分区的长短处理顺序,影响的是递归时对栈的使用内存,而不是递归次数。

A.递归次数与初始数据的排列次序有关,若有序,次数为O(N),理论上最少的次数为O(logN)。

B.C.每次划分后,先处理较短的分区,只是减少了递归占用的内存空间,并不能减少递归次数。


2.一棵完全二叉树第6层有9个叶节点(根为第1层),则节点个数最多有

A.111

B.112

C.107

D.109

:D

第6层有9个叶子节点,则可推测该二叉树最多有7层,节点总数为:

2^0 + 2^1 + 2^2 + 2^3 +2^4 +2^5 + 2*(32-9) = 109


3.对于序列16,14,10,8,7,9,3,2,4,1,以下说法正确的是

A.小顶推

B.大顶堆

C.不是堆

D.二叉排序树

:B

最大堆中所有父节点都比其左子树、右子树大。最小堆中所有的父节点都比其左子树、右子树小。

二叉排序树需要满足:左孩子<根<右孩子。


4.已知关键字序列5,8,12,19,28,20,15,22是最小堆,插入关键字3,调整后得到的最小堆是

A.3,8,12,5,20,15,22,28,19

B.3,5,12,19,20,15,22,8,28

C.3,12,5,8,28,20,15,22,19

D.3,5,12,8,28,20,15,22,19

:D

 建堆,插入元素放在最后;将插入元素依次与父节点进行比较,若比父节点小,则与父节点替换进行堆调整,以此类推。


5.一棵二叉树的先序遍历为EFHIGJK,中序遍历为HFIEJKG,则后序遍历为

A.HIFJKGE

B.FHIJKGE

C.HIFGJKE

D.HIFKJGE

:D

:难点在右子树,多尝试。


6.对数组A[]={4,78,3,64,32,89,43,12}进行Hash存储时,选用H(K)=K%7作为Hash函数,则Hash地址为1的元素有几个

A.1

B.2

C.3

D.4

:C

H(k)=k%7;

H(78)=78%7=1

H(64)=64%7=1

H(43)=43%7=1

根据上述公式判断,这里只是问 Hash地址为1的元素,并没有涉及到实际存放的位置,而且冲突的处理方法也没有涉及,所以只要计算Hash后的值即可。


7.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若使用H(K)=K%9作为散列函数,则散列地址为1的元素有几个

A.1

B.2

C.3

D.4

:D

55%9=1

64%9=1

46%9=1

10%9=1


8.已知一个线性表(38,25,74,63,52,48),假定采用散列函数h(key) = key%7 计算散列地址,并散列存储在散列表A[0....6]中,若采用线性探测方法解决冲突,则在该散列表上进行等概率成功查找的平均查找长度为

A.1.5

B.1.7

C.2.0

D.2.3

:C

平均查找长度 = 总的查找次数 / 元素数

总的查找次数: 38%7=3 (第1次出现3,无冲突,放在位置3,查找次数为1)

25%7=4(第1次出现4,无冲突,放在位置4,查找次数为1)

74%7=4(第2次出现4,有冲突,放在位置5,查找次数为2)

63%7=0(第1次出现0,无冲突,放在位置0,查找次数为1)

52%7=3(第2次出现3,有冲突,发现冲突3,4,5,故只能放到6,查找次数为4)

48%7=6 (第1次出现6,有冲突,发现冲突6,0,故只能放到1,查找次数为3)

1+1+2+1+4+3=12

元素数=6

所以:平均查找长度=12/6=2


9.以30为基准,设一组初始记录关键字序列为 (30,15,40,28,50,10,70),则第一趟快速排序结果为

A 10,28,15,30,50,40,70

B 10,15,28,30,50,40,70

C 10,28,15,30,40,50,70

D 10,15,28,30,40,50,70

:B

初始化左指针为1,右指针为6

从右指针开始比较,右指针自减,到10的时候发现比30小,两者交换得到:10,15,40,28,50,30,70

从左指针开始比较,左指针自增,到40的时候发现比30大,两者交换得到:10,15,30,28,50,40,70

从右指针开始比较,右指针自减,到28的时候发现比30小,两者交换得到:10,15,28,30,50,40,70

此时完成第一趟排序,已经满足30的左边都比30小,右边都比30大


10.在双向循环链表中,在p指针所指的节点后插入一个指针q所指向的新节点,修改指针的操作是A.p->next=q;q->prior=p;p->next->prior=q;q->next=q;
B.p->next=q;p->next->prior=q;q->prior=p;q->next=p->next;
C.q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;
D.q->next=p->next;q->prior=;p->next=q;p->next=q;
:C

  • 双向链表插入首先将新加入的结点的两个指针指向正确位置即q->prior=p;q->next=p->next;
  • 然后将原链表后面的那个结点前去指向新节点, p->next->prior=q;
  • 将原链表前面的结点指向新节点 p->next=q;

最重要的顺序是:在q与原链表后面那个结点建立双向连接之前不可以改变p->next否则原链表断掉无法找到后面那个结点.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/145671.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DaVinci:键 - 外部蒙版

调色页面&#xff1a;键Color&#xff1a;Key在调色页面&#xff0c;可以轻松地从媒体池将某个片段拖至节点面板中&#xff0c;以作为外部蒙版。或者&#xff0c;在节点上右击选择“添加蒙版” Add Matte。若无附加&#xff0c;则可以选择本节点片段的明度信息作为外部蒙版。当…

hbase2.x orphan regions on filesystem(region丢失)问题修复

问题描述&#xff1a;orphan regions on filesystem 可以通过主master web页面的HBCK Report查看 也可以通过hbck2工具查看 # 查看指定表 hbase hbck -j $HBASE_HOME/lib/hbase-hbck2-1.3.0-SNAPSHOT.jar addFsRegionsMissingInMeta default:tableName # 查看命名空间下所有…

Yolov5+TensorRT-生成dll-python/c++调用dll

YOlov5-6.0TensorRTdllpython/c调用简介1.项目环境2.TensorRT验证1.在tensorrtx-yolov5-v6.0\yolov5目录下新建build目录2.编写CMake.txt,根据自己目录更改2&#xff08;OpenCV_DIR&#xff09;、3&#xff08;TRT_DIR&#xff09;、10&#xff08;Dirent_INCLUDE_DIRS&#xf…

LabVIEW网络服务器何使用,有哪些不同

LabVIEW网络服务器何使用&#xff0c;有哪些不同NI有几款不同的Web服务器&#xff0c;可使用不同的产品并覆盖不同的用例。它们具有非常相似的名称&#xff0c;可以互换使用&#xff0c;但每个都提供不同的功能。应用程序Web服务器描述&#xff1a;NI应用Web服务器加载使用LabV…

企业微信商户号是什么?如何开通?

企业微信作为一款优秀的移动办公工具&#xff0c;与微信全方位打通&#xff0c;既可以与客户沟通交流&#xff0c;也可以在达成交易后直接进行对公收款&#xff0c;但是前提是要开通企业微信商户号。前言企业微信和微信都出自腾讯&#xff0c;而且企业微信全方位连接微信&#…

C#,图像二值化(16)——全局阈值的力矩保持算法(Moment-proserving Thresholding)及其源代码

1、力矩保持法 提出了一种基于矩保持原理的自动阈值选择方法。以这样的方式确定地计算阈值&#xff0c;即在输出画面中保留输入画面的时刻。实验结果表明&#xff0c;该方法可以将给定的图像阈值化为有意义的灰度级。该方法描述了全局阈值&#xff0c;但也适用于局部阈值。 A…

企业微信开发——企业内部自建应用开发(第二篇)---JS_SDK配置

企业微信如果想要使用企业微信的JS_SDK来实现拍照、定位等等功能&#xff0c;就需要预先在使用到的页面进行配置&#xff0c;当然你可以做全局配置。对于JS_SDK的配置设计前端和后端的统一配置。下面我来说明下具体的步骤。特别说明&#xff1a;1、企业微信有的接口需要配置wx.…

shader基础入门(1)

本文基于unity免费公开课“Hi Shader以及网络公开资料等书写”遵循开源协议。 MeshFilter网格过滤器 从海量资源中挑选适合的Mesh将他交给MeshRender MeshRenderer 网格渲染器 负责把MeshFilter丢过来的Mesh&#xff0c;绘制显示到我们的场景中 Material 材质球 Material…

多线程之死锁

目录&#xff1a; 1.什么是死锁&#xff1f; 2.可重入与不可重入 3.发生死锁的三个典型情况 4.发生死锁的四个必要条件 5.如何破除死锁&#xff1f; 1.什么是死锁&#xff1f; 谈到死锁&#xff0c;程序猿们都心存忌惮&#xff0c;因为程序一旦出现死锁&#xff0c;就会导…

深度学习训练营之鸟类识别

深度学习训练营之鸟类识别原文链接环境介绍前置工作设置GPU导入数据并进行查找数据处理可视化数据配置数据集残差网络的介绍构建残差网络模型训练开始编译结果可视化训练样本和测试样本预测原文链接 &#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&am…

机器学习:如何解决类别不平衡问题

类别不平衡是一个常见问题&#xff0c;其中数据集中示例的分布是倾斜的或有偏差的。 1. 简介 类别不平衡是机器学习中的一个常见问题&#xff0c;尤其是在二元分类领域。当训练数据集的类分布不均时会发生这种情况&#xff0c;从而导致训练模型存在潜在偏差。不平衡分类问题的示…

【Unity云消散】理论基础:实现SDF的8SSEDT算法

距离元旦假期已经过去5天了&#xff08;从31号算起&#xff01;&#xff09;&#xff0c;接着开始学习&#xff01; 游戏中的很多渲染效果都离不开SDF&#xff0c;那么SDF究竟是什么呢&#xff1f;到底是个怎么样的技术&#xff1f;为什么能解决那么多问题&#xff1f; 1 SD…

git介绍及环境搭建

git介绍及环境搭建Git介绍Git安装流程配置用户信息git工作流程与常用命令问题点总结主要工作流程git工作流程与原理总结Git介绍 1.Git是什么&#xff1f; Git版本控制系统是一个分布式的系统,是用来保存工程源代码历史状态(游戏存档)的命令行工具 GIT是一个命令行工具,用于版…

基于Java+Spring+vue+element社区疫情服务平台设计和实现

基于JavaSpringvueelement社区疫情服务平台设计和实现 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源…

Django+channels -> websocket

Django+channels -> websocket 学习视频: https://www.bilibili.com/video/BV1J44y1p7NX/?p=10 workon # 查看虚拟环境 mkvirtualenv web -p python3.10 # 创建虚拟环境 workon web # 进入虚拟环境pip insatll django channelsdjango-admin startproject ws_demo python …

【NI Multisim 14.0原理图环境设置——元器件库管理】

目录 序言 一、元器件库管理 &#x1f349;1.“元器件”工具栏 &#x1f34a;&#xff08;1&#xff09;电源/信号源库 &#x1f34a;&#xff08;2&#xff09;基本器件库 &#x1f34a;&#xff08;3&#xff09;二极管库 &#x1f34a;&#xff08;4&#xff09;晶体管…

seL4 背景知识

1 seL4 演变 1.1 微内核 微内核发展到目前为止经历了三代, 这里做一些归纳。参考《现代操作系统: 原理与实现》中操作系统结构一章, 关于微内核架构发展的介绍。 第一代微内核设计将许多内核态功能放到用户态, Mach 微内核是第一代微内核的代表。第二代微内核设计将对 IPC 优…

C++学习记录——일 C++入门(1)

C入门&#xff08;1&#xff09; 文章目录C入门&#xff08;1&#xff09;一、C关键字二、C第一个程序三、命名空间1、域作用限定符2、了解命名空间3、命名空间的使用四、C输入输出五、缺省参数六、函数重载七、引用1、引用符号2、引用的部分使用场景一、C关键字 关键字有98个&…

filebeat采集nginx日志

背景我们公司项目组用的是elastic的一整套技术栈&#xff0c;es&#xff0c;kibana&#xff0c;filebeat和apm&#xff0c;目前已经可以采集网关各个微服务的日志。架构图现在需要在原来的基础上把nginx这的日志也采集上来&#xff0c;方便做链路跟踪问题与思路原先traceId是在…

数字经济时代,“8K+”开拓行业新格局

2023深圳国际8K超高清视频产业发展大会召开&#xff0c;大会以“超清互联 数智创新”为主题&#xff0c;汇聚两院院士、产业领袖、领军企业共同深入探讨超高清产业发展现状、关键问题和未来趋势&#xff0c;并集中发布《深圳市超高清视频显示产业白皮书&#xff08;2023版&…