首页 > 其他分享 >18年408数据结构

18年408数据结构

时间:2024-09-28 20:19:23浏览次数:6  
标签:输出 结点 解析 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
From: https://blog.csdn.net/weixin_62182040/article/details/142546092

相关文章

  • [1189]基于JAVA的客户智慧管理系统的设计与实现
    毕业设计(论文)开题报告表姓名学院专业班级题目基于JAVA的客户智慧管理系统的设计与实现指导老师(一)选题的背景和意义背景:在当今信息化社会,企业运营日益依赖于高效、精准的数据管理和客户服务流程。客户关系管理(CRM)作为现代企业管理的核心环节,对企业的市场竞争力和持续发......
  • [1181]基于JAVA的宠物门诊智慧管理系统的设计与实现
    毕业设计(论文)开题报告表姓名学院专业班级题目基于JAVA的宠物门诊智慧管理系统的设计与实现指导老师(一)选题的背景和意义选题背景与意义:随着社会经济水平的提高和人们生活质量的变化,宠物已逐渐成为许多家庭的重要成员,宠物医疗服务的需求也日益增长。传统的宠物门诊管理......
  • 408解题小助手—文心智能体
    体验链接:408解题小助手问题:个字符有如下种编码方案,不是前缀编码的是A.01000000010011B.011,000,001,010,1C.000,001,010,011,100D.0,100,110,1110,1100回答:不是前缀编码的是选项D:0,100,110,1110,1100。解释:在前缀编码中,任何一个字符的编......
  • 数据结构设计
    数据结构设计设计有setAll功能的哈希表加时间戳#include<vector>#include<iostream>#include<algorithm>#include<unordered_map>usingnamespacestd;//<key,<val,time>>unordered_map<int,pair<int,int>>map;intsetA......
  • CMake构建学习笔记18-cpp-httplib库的构建
    cpp-httplib库是笔者认为的一个比较好用的基于C++的Http服务器组件,与Eigen一样,它也是基于头文件的库,我们只需要引入httplib.h这个头文件进行来就实现所有基于http/https协议的功能,非常适合初学者进行使用。尽管是头文件,还是可以使用CMake进行构建,便于统一管理,关键脚本如下:#配置......
  • 使用cifar100上训练的resnet18进行ood测试
    以cifar100作为闭集(closed-set)数据集,使用resnet18模型进行训练,然后在常见的开集(out-of-distribution)数据集上进行OOD检测。使用MSP(MaximumSoftmaxProbability)作为OOD检测的依据。开集噪声数据集使用gaussian,rademacher,blob,svhn四种类型。其中gaussian、rademacher......
  • 洛谷P1827 [USACO3.4] 美国血统 题解
    上题目:题目描述农夫约翰非常认真地对待他的奶牛们的血统。然而他不是一个真正优秀的记帐员。他把他的奶牛们的家谱作成二叉树,并且把二叉树以更线性的“树的中序遍历”和“树的前序遍历”的符号加以记录而不是用图形的方法。你的任务是在被给予奶牛家谱的“树中序遍历”和......
  • 18 主文件和__name__
    主文件和__name__主文件:启动的程序#以前写法defrun():passrun()#主文件写法,是可以直接右键进行运行的defrun():passif__name__=="__main__":run()name是什么?#表示当前运行的这个文件名print(__file__)#当前运行的模块名字是什么print(......
  • COMP 218 Fundamentals of Object-Oriented Programming
    ©Maynotbecopiedorduplicatedwithoutthepermissionoftheowner.COMP218FundamentalsofObject-OrientedProgrammingAssignment1Pleasenote:youareNOTallowedtoposttheassignment/solutionanywhereontheInternet.IntellectualPropertyrightsa......
  • CF1874F Jellyfish and OEIS
    CF1874FJellyfishandOEIS第一次独立切*3500,写篇题解记录一下我们称\([l,r]\)为一个排列,当且仅当\([p_l,p_{l+1},\dots,p_r]\)为\([l,l+1,\dots,r]\)的一个排列。不妨固定\(l\),我们只需要考虑最小的\(r\)满足\([l,r]\)为一个排列。考虑每个\([l,r]\)所构成的区......