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

18年408数据结构

第一题:

解析:这道题很简单,按部就班的做就可以了。

画出S1,S2两个栈的情况:

第一轮:
S1:            S2:                      

        2                +

        3                -

        8                *

        5

从S1中依次弹出两个操作数2和3,从S2中弹出一个运算符+,执行3+2,将计算结果压入S1中。计算结果是5。

第二轮:

S1:            S2:                      

        5                -

        8                *

        5                

运算: 8-5=3.

第三轮: 

S1:            S2:                      

        3                

        5                *

 运算:5*3=15

 答案选B      

第二题:

解析:

队列是对头出队,队尾入队,栈是先进后出,先输出栈顶元素。

依次分析:
A.1出队并输出,2出队并输出,345存入栈中,5出栈并输出,6出队并输出,4出栈并输出,3出栈并输出,A正确。

B.1出队入栈,2出队并输出,3出队并输出,4出队并输出,5出队并输出,6出队并输出,1出栈并输出。B正确。

C.1出队入栈,2出队入栈,3,4,5,6出队并输出,接着栈内的栈顶元素是2,只能是2先输出,所以C错。

答案选C。

第三题:

解析:画个图分析一下就好了。

如图所示:因为只存上三角部分的元素(包含对角线元素),经分析可知第一层存12个元素,第二层存11个元素,第三层存10个元素,第四层存9个元素,第五层存8个元素,接着第6层只存m6,6,一共是12+11+10+9+8+1=51.

也就是说m6,6在N中是第51个元素,因此下标是50,答案选A

第四题:

解析:

方法一:对于一个n层的满二叉树,第n层的结点个数:2^{n-1},结点总数:2^{n}-1

经题目分析可知,该二叉树应该是一个满二叉树,设该二叉树有n层,则有2^{n-1}=k,n=\log 2(k) +1

n层的满二叉树的结点个数:2^n-1,

2^{\log 2(k)+1}-1=2k-1

答案选A.

方法二:对于一个二叉树,我们说度为2的结点个数+1就是叶子结点的个数:

n_{0}=n_{2}+1

题目说每个非叶子结点都有2个子结点,说明没有度为1的点,利用这条结论,我们可以推断出,结点总数=度为2的点+度为0的叶子结点,叶子结点个数告诉我们了:K,度为2的结点个数利用上面提到的结论可知:n_{2}=k-1,结点总数=k-1+k=2k-1。

答案选A。

第五题:

解析:
很显然要先构造一颗哈夫曼树:

a:00

b:1011

c:01

d:1010

e:11

f :100

答案选A

第六题:

解析:比根结点大的是右子树,比根结点小的左子树。

其实不用那么麻烦,直接看就行,最左边的最小,最右边的最大。

从左到右依次是:x_{1}<x_{3}<x_{5}<x_{4}<x_{2}

答案选C

第七题:

解析:拓扑序列:依次找入度为0的点,并删除与它相关的连线。

一开始找入度为0的点:1和5。

从节点1开始:

1-5-2-3-6-4 A

1-5-2-6-3-4 

从节点5开始:

5-1-2-3-6-4 C

5-1-2-6-3-4 B

D.节点5去掉之后2的入度不为0,D错。

答案选D。

第八题:

解析:

至少要每个节点的关键字个数最少,回顾一下B数的定义:

至少是3/2向上取整减一等于一个关键字,这就将问题转换成了高度为5的满二叉树有多少个结点的问题了:2^{5}-1=31

答案选B.

第九题:

解析:

H(22)=22%7=1        22存入1的位置

H0(43)=43%7=1

H1(43+1)=44%7=2 43存入2的位置

H0(15)=15%7=1

H1(15+1)=16%7=2

H1(16+1)=17%7=3 14存入3的位置

平均查找长度:所有关键字的查找次数 / 关键字个数=(1+2+3)/3 = 2

答案选C

第十题:

解析:

第一趟排序很明显:第一个数字原来是8现在变成1了,说明8和1进行了比较并交换了位置,d=5,同时我们可以得知是升序排序,第二趟是2和3交换了位置,很明显d=3,答案选D。

第十一题:

解析:考查堆排序

第一步:画出原始数组:

第二步:从最后一个结点的父节点开始排序。

7比5和4大,调整为根结点:

此时储存在数组中的序列是:6,1,7,9,8,4,5,排除BC。

第三步:调整倒数第二个父节点,也就是1这个位置

找到根节点和孩子节点中最大的节点,这里很显然是9,将1和9交换一下位置。

此时储存在数组中的序列是:6,9,7,1,8,4,5,排除D

答案选A。

相关文章:

18年408数据结构

第一题&#xff1a; 解析&#xff1a;这道题很简单&#xff0c;按部就班的做就可以了。 画出S1&#xff0c;S2两个栈的情况&#xff1a; 第一轮&#xff1a; S1: S2: 2 3 - 8 * 5 从S1中依次弹…...

Android 通过自定义注解实现Activity间跳转时登录路由的自动拦截

应用场景 在Android 中部分软件需要登录才能使用&#xff0c;但是有的页面又不需要登录&#xff0c;Android不同于Web可以直接拦截重定向路由&#xff0c;因此如果在Android中如果需要检测是否登录&#xff0c;如果没登录跳转登录的话就需要再每个页面中判断&#xff0c;当然也…...

安全开发指南

1. 准备工作与培训 安全文化与意识&#xff1a;建立并强化组织的安全文化&#xff0c;对所有成员进行安全意识培训。安全策略与标准&#xff1a;制定明确的安全开发策略、标准和流程&#xff0c;包括代码审查、安全测试、事件响应等。工具与技术选择&#xff1a;选择合适的开发…...

【word脚注】双栏设置word脚注,脚注仅位于左栏,右栏不留白

【word脚注】双栏设置word脚注&#xff0c;脚注仅位于左栏&#xff0c;右栏不留白 调整前效果解决方法调整后效果参考文献 调整前效果 调整前&#xff1a;脚注位于左下角&#xff0c;但右栏与左栏内容对其&#xff0c;未填充右下角的空白区域 解决方法 备份源文件复制脚注内…...

ROS学习笔记(三):VSCode集成开发环境快速安装,以及常用扩展插件配置

文章目录 前言VSCode集成开发环境1 安装VSCode2 VSCode扩展插件2.1 VSCode扩展插件模块介绍2.1 常用扩展插件配置一、语言支持类插件二、智能辅助类插件三、科学计算与数据分析类插件四、ROS开发相关插件 3 总结相关链接 前言 关于Ubuntu与ROS的常规安装&#xff0c;可以看这几…...

论文精读--Two-Stream Convolutional Networks for Action Recognition in Videos

对于单张图片&#xff0c;丢进卷积和全连接层直接得出分类结果就行 但对于视频&#xff0c;早期的一些工作把视频中的一些关键帧抽取出来&#xff0c;把一个个帧通过网络&#xff0c;最后把结果合并&#xff0c;或者把帧叠起来&#xff0c;一起丢进网络。在网络中进行early fu…...

JAVA姓氏头像情侣头像家庭头像签名头像谐音顽埂头像设计小程序头像大全系统小程序源码

姓氏头像到谐音梗&#xff0c;打造你的专属头像大全系统 &#x1f3a8;✨ &#x1f468;‍&#x1f469;‍&#x1f467;‍&#x1f466; 家庭头像&#xff1a;记录温馨瞬间 在这个充满爱的时代&#xff0c;用一张家庭头像来记录你和家人的美好瞬间吧&#xff01;我们的“姓氏…...

UE5.4.3 Replay 重播回放系统

工程的配置文件DefaultEngine.ini中需要加入 +NetDriverDefinitions=(DefName=“DemoNetDriver”,DriverClassName=“/Script/Engine.DemoNetDriver”,DriverClassNameFallback=“/Script/Engine.DemoNetDriver”) 此步骤将启用并加载DemoNetDriver .ini添加示例 [/Script/En…...

深入掌握 Protobuf 与 RPC 的高效结合:实现C++工程中的高效通信

目录 一、Protobuf与RPC框架的通信流程概述二、Protobuf与RPC在C中的实际应用2.1 定义 .proto 文件2.2 编译 .proto 文件生成C代码2.3 实现服务器端逻辑2.4 实现客户端逻辑2.5 使用CMake构建工程2.6 编译与运行2.7 关键组件解析2.8 序列化与反序列化的实现 三、关键实现与解析四…...

录屏软件大比拼:四款必备工具助你轻松录制精彩瞬间!

哎呀&#xff0c;说到电脑录屏这事儿&#xff0c;我这个办公室小文员可是深有体会啊&#xff01;平时工作里&#xff0c;经常需要录个会议啊、做个教程啊&#xff0c;或者分享个操作技巧给同事们看。市面上的录屏软件多得数不清&#xff0c;但我最常用的几款工具。今天就来跟大…...

计算机毕业设计宠物领养网站我的发布领养领养用户信息/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序

目录 1.课题背景 2.课题意义 ‌ 3.技术介绍 4.技术性需求 4.1后端服务‌&#xff1a; 4.2 前端展示‌ 5.数据库设计‌&#xff1a; 6.系统性能‌&#xff1a; 7.安全性‌&#xff1a; 8. 功能介绍&#xff1a; 9. 部分代码 1.课题背景 近年来&#xff0c;随着宠物饲养数量…...

用示波器测动态滞回线

大学物理&#xff08;下&#xff09;实验-中南民族大学通信工程2022级 手动逐个处理数据较为麻烦且还要绘图&#xff0c;故想到用pythonmatplotlib来计算结果并数据可视化。 代码实现 import matplotlib.pyplot as plt# 样品一磁化曲线 X [0, 0.2, 0.4, 0.6, 0.8, 1, 1.5, 2.…...

【JDK动态代理】JDK动态代理:为何只能代理接口和接口实现类

在Java开发中&#xff0c;JDK动态代理是一种非常有用的技术&#xff0c;它允许开发者在不修改目标类代码的情况下&#xff0c;为目标类添加额外的功能。然而&#xff0c;JDK动态代理的使用有一些限制&#xff0c;特别是它只能代理接口和接口实现类。本文将深入探讨这一限制的原…...

MFC工控项目实例二十一型号选择界面删除参数按钮禁用切换

承接专栏《MFC工控项目实例二十手动测试界面模拟量输入实时显示》 对于禁止使用的删除、参数按钮&#xff0c;在选中列表控件选项时切换为能够使用。 1、在TypDlg.h文件中添加代码 #include "ShadeButtonST.h" #include "BtnST.h" class CTypDlg : publi…...

前端框架对比和选择指南

前端框架对比和选择指南 随着 Web 开发技术的快速发展&#xff0c;前端框架已经成为了现代 Web 开发的核心工具之一。它们为开发人员提供了快速构建高效、交互性强的应用的基础。当前流行的前端框架主要包括 React.js、Vue.js 和 Angular.js。在这篇技术博客中&#xff0c;我们…...

人工智能价格战——如何降低成本让人工智能更易于普及

十年前&#xff0c;开发人工智能 (AI) 是只有大公司和资金充足的研究机构才能负担得起的事情。必要的硬件、软件和数据存储成本非常高。但从那时起&#xff0c;情况发生了很大变化。一切始于 2012 年的 AlexNet&#xff0c;这是一种深度学习模型&#xff0c;展示了神经网络的真…...

企业间图文档发放:如何在保障安全的同时提升效率?

不管是大型企业&#xff0c;还是小型创业公司&#xff0c;不论企业规模大小&#xff0c;每天都会有大量的图文档发放&#xff0c;对内传输协作和对外发送使用&#xff0c;数据的生产也是企业业务生产力的体现之一。 伴随着业务范围的不断扩大&#xff0c;企业与客户、合作伙伴之…...

深入解析 ConcurrentHashMap:从 JDK 1.7 到 JDK 1.8

✨探索Java基础 ConcurrentHashMap✨ 引言 ConcurrentHashMap 是 Java 中一个线程安全的高效 Map 集合。它在多线程环境下提供了高性能的数据访问和修改能力。本文将详细探讨 ConcurrentHashMap 在 JDK 1.7 和 JDK 1.8 中的不同实现方式&#xff0c;以及它们各自的优缺点。 …...

VS code user setting 与 workspace setting 的区别

VS code user setting 与 workspace setting 的区别 引言正文引言 相信有不少开始接触 VS code 的小伙伴会有疑问,user setting 与 workspace setting 有什么区别呢?这里我们来说明一下 正文 首先,当我们使用 Ctrl + Shift + P 打开搜索输入 setting 后,可以弹出 4 个se…...

XPath基础知识点讲解——用于在XML中查找信息的语言

1. 什么是XPath&#xff1f; XPath&#xff08;XML Path Language&#xff09;是用于在XML&#xff08;Extensible Markup Language&#xff09;文档中查找信息的语言。它可以通过路径表达式来选择XML文档中的节点&#xff0c;类似于如何在文件系统中使用路径查找文件。XPath是…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...