数据结构(2023-2024)

一、判断题

1.队列是一种插入和删除操作分别在表的两端进行的线性表,是一种先进后出的结构。(F)

队列先进先出,在表的一端插入元素,在表的另一端删除元素。允许插入的一端称为队尾(rear),允许删除的一端称为队头(front)

2. 栈是插入和删除只能在一端进行的线性表;队列是插入在一端进行,删除在另一端进行的线性表。(T)

3.算法和程序没有区别,在数据结构中二者是通用的。(F)

算法是用来描述数据对象之间的关系,包括数据的逻辑关系和存储关系

语言是描述算法的工具

程序是算法在计算机中的实现。程序设计的实质是对实际问题选择一种好的数据结构,加之设计一个好的算法,而好的算法在很大程度上取决于描述实际问题的数据结构。

算法和程序是有区别的

4. 对于顺序存储的长度为N的线性表,删除第一个元素和插入最后一个元素的时间复杂度分别对应为O(1)和O(N)。(F)

插入最后一个元素的时间复杂度为O(1)

若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用顺序表存储最节省时间。(T)

5. 线性表采用链式存储表示时,所有结点之间的存储单元地址可以连续也可以不连续。(T)

6.已知一棵二叉树的先序遍历结果是ABC, 则CAB不可能是中序遍历结果(T)

7.具有10个叶结点的二叉树中,有9个度为2的结点。(T)

具有10个叶节点,则度为2的结点为10-1=9

8. 在含有n个结点的树中,边数只能是n-1条。(T)

9.完全二叉树中,若一个结点没有左孩子,则它必是树叶。(T)

若一个结点没有左孩子,也必定没有右孩子,所以必定为树叶

10. (N^2)*logN和Nlog(N^2)具有相同的增长速度。(F)

N*N*log(N)   N*logN

N*2*log(N)    2*logN

N 和2相差较大

11. Nlog(N^2)和N(logN)具有相同的增长速度。(T)

2*NlogN   NlogN

2                 1

相差不大

12. 一棵有124个结点的完全二叉树,其叶结点个数是确定的。(T)

13.将一棵完全二叉树存于数组中(根结点的下标为1)。则下标为23和24的两个结点是兄弟。(F)

23/2=11

24/2=12

13. 循环队列执行出队操作时会引起大量元素的移动。(F)

循环队列执行出队操作时不会引起大量元素移动

14. 队列中允许插入的一端叫队头,允许删除的一端叫队尾)(F)

队列在队尾插入,在队头删除

15. 队列结构的顺序存储会产生假溢出现象(T)

循环队列可以用来解决假溢出的现象

二、单选题

1.一棵树可转换成为与其对应的二叉树,则下面叙述正确的是(A)。

A.树的先根遍历序列与其对应的二叉树的先序遍历相同

B.树的后根遍历序列与其对应的二叉树的后序遍历相同

C.树的先根遍历序列与其对应的二叉树的中序遍历相同

D.以上都不对

树的先根遍历等价于二叉树的先序遍历

树的后跟遍历等价于二叉树的中序遍历

2. 已知二叉树的先序遍历序列为ABCDEFGH,中序遍历序列为CBEDFAGH,则该二叉树形态中,父节点的右子节点为(C)。

A.D

B.H

C.G

D.F

3. 在任何一棵二叉树中,若结点a有左孩子b、右孩子c,则在结点的先序序列、中序序列、后序序列中,( C)。

A.结点b一定在结点a的前面

B.结点a一定在结点c的前面

C.结点b一定在结点c的前面

D.结点a一定在结点b的前面

先序:abc

中序:bac

后序:bca

b一定在c前面

4. 下面程序段的时间复杂度是(A)。

A.O(1)

B.O(N)

C.O(N2)

D.O(log2​N)

循环中并没有出现关于n的for循环,所以为o(1)

5. 下列函数中,哪个函数具有最慢的增长速度:(B)

A.N^1.5

B.Nlog(N^2)

C.(N^2)logN

D.N((logN)^2)

B.2NlogN

C.N*N*logN

D.N*logN*logN

同除NlogN,B=2 C=N  D=logN 

6.下列函数中,哪两个函数具有相同的增长速度:(D)

A.2^N和N^N

B.N和2/N

C.(N^2)logN和Nlog(N^2)

D.Nlog(N^2)和NlogN

C.N*NlogN  2NlogN,同除NlogN    N   2

D.2NlogN    NlogN   同除NlogN    2   1

7. 在双向循环链表结点p之后插入s的语句是:(D)

A.p->next=s; s->prior=p; p->next->prior=s ; s->next=p->next;

B.p->next->prior=s; p->next=s; s->prior=p; s->next=p->next;

C.s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;

D.s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;

8.以二叉链表作为二叉树的存储结构,在具有 n 个结点的二叉链表中(n>0),空链域的个数为 __(A)

A.n+1

B.n

C.n−1

D.无法确定

空链域为n+1个,非空链域为n-1个

9. 已知二叉树的前序遍历序列为 ABDCEFG,中序遍历序列为 DBCAFEG,则后序遍历序列为 __(B)

A.BDACEFG

B.DCBFGEA

C.ABCDEFG

D.GFEDCBA

后序遍历:DCB  FGE A 

10. 若将一棵树 T 转化为对应的二叉树 BT,则下列对 BT 的遍历中,其遍历序列与 T 的后根遍历序列相同的是:(B)

A.先序遍历

B.中序遍历

C.后序遍历

D.按层遍历 

11.按照二叉树的定义,具有3个结点的二叉树有几种?(C)

A.3

B.4

C.5

D.6

12.二叉树中第5层(根的层号为1)上的结点个数最多为:(C)

A.8

B.15

C.16

D.32

第i层上的结点个数最多为2^(i-1)

13. 先序遍历图示二叉树的结果为(B)

A.A,B,C,D,H,E,I,F,G

B.A,B,D,H,I,E,C,F,G

C.H,D,I,B,E,A,F,C,G

D.H,I,D,B,E,F,G,A,C

14.对 n 个互不相同的符号进行哈夫曼编码。若生成的哈夫曼树共有 115 个结点,则 n 的值是:(C)

A.56

B.57

C.58

D.60

2n-1=115 2n=116 n=58

哈夫曼树只有度为0和度为2的结点,这里的n为度为0的结点数量

15. 数据结构在计算机内存中的表示是指(A )。

A数据的存储结构

B.数据结构

C.数据的逻辑结构

D.数据元素之间的关系

数据结构在计算机内存中表示是指数据的存储结构(物理结构)

16. 在存储数据时,通常不仅要存储各数据元素的值,而且还要存储(C )。

A.数据的处理方法

B.数据元素的类型

C.数据元素之间的关系

D.数据的存储方法

在存储数据时,通常不仅要存储各数据元素的值,还要存储数据元素之间的关系

 17.在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是(B)。

A.p=p->next

B.p->next=p->next->next

C.p->next=p

D.p=p->next->next

18. 对一个具有n个元素的线性表,建立其单链表的时间复杂度为(A)。

A.O(n)

B.O(1)

C.O(n2)

D.O(log2​n)

创建一个包含n个结点的单链表的时间复杂度为o(n)

创建一个包含n个结点的有序单链表的时间复杂度是O(n²)。  

建立一个有序的单链表,则每生成一个新结点时需要和已有的结点进行比较,时间复杂度为O(n),所以确定合适的插入位置的单链表,时间复杂度是O(n^2)。

19. 有关树和二叉树的叙述错误的是(C)。

A.树中的最大度数没有限制,而二叉树结点的最大度数为2;

B.树的结点无左右之分,而二叉树的结点有左右之分;

C.树的每个结点的孩子数为0到多个, 而二叉树每个结点均有两个孩子;

D.树和二叉树均为树形结

二叉树的结点可以小于等于2

20. 某线性表采用顺序存储结构,每个元素占4个存储单元,首地址为100,则第12个元素的存储地址为(A)。

A.144

B.145

C.147

D.148

100+11*4=144

21. 在下列存储形式中,( D)不是树的存储形式。

A.双亲表示法

B.孩子链表表示法

C.孩子兄弟表示法

D.顺序存储表示法

树的存储形式:孩子链表表示法、孩子兄弟表示法、双亲表示法

22. 二叉树的高度

若根节点为高度1,一棵具有 1025 个结点的二叉树的高度为 ▁▁▁C▁▁ 。

A.10

B.11

C11~1025 之间

D.10~1024 之间

[log2(1025)]+1=10+1=11

23. 栈和队列的共同点是____。(C)

A.都是先进后出

B.都是先进先出

C.只允许在端点处插入和删除元素

D.没有其冋点

24.为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是?(B)

A.堆栈

B.队列

C.树

D.图

25.下列与队列结构有关联的是(D)

A.函数的递归调用

B.数组元素的引用

C.多重循环的执行

D.先到先服务的作业调度

队列先进先出的特点,队列的修改依据先进先出的原则

26. 与数据元素本身的形式、内容、相对位置、个数无关的是数据的( C)。

A.存储结构

B.存储实现

C.逻辑结构

D.运算实现

与数据元素本身的形式、内容、相对位置、个数无关的是数据的逻辑结构

27. 数据结构中,与所使用的计算机无关的是数据的( A) 结构。

A.逻辑

B.存储

C.逻辑和存储

D.物理

28.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用什么存储方式最节省运算时间?(B)

A.单链表

B.仅有尾指针的单循环链表

C.仅有头指针的单循环链表

D.双链表

在最后一个元素之后插入一个元素或者删除一个第一个元素,采用仅有尾指针的单循环链表

29. 若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用哪种存储方式最节省运算时间?(D)

A.单链表

B.双链表

C.单循环链表

D.带头结点的双循环链表

在最后一个结点之后插入一个结点或者删除最后一个结点,采用带头结点的双循环链表

30. 如果二叉树的前序遍历结果是12345,后序遍历结果是32541,那么该二叉树的中序遍历结果是什么?(D)

A.23145

B.23154

C.24135

D.无法确定

前序+后序无法确定一个二叉树

31.要使一棵非空二叉树的先序序列与中序序列相同,其所有非叶结点须满足的条件是(B):

A.只有左子树

B.只有右子树

C.结点的度均为1

D.结点的度均为2

32.采用链结构存储线性表时,其地址(B )。

A.必须是连续的

B.连续不连续都可以

C.部分地址必须是连续

D.必须是不连续的

采用链式存储结构存储线性表,其地址连不连续都可以。

33. 下面描述中正确的为( C)。

A.线性表的逻辑顺序与物理顺序总是一致的。

B.线性表的顺序存储表示优于链式存储表示。

C.线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。

D.二维数组是其数组元素为线性表的线性表。

A.若线性表采用链式存储,则不一定一致

B.在不同的情况下,优缺点不同

D.二维数组是数据元素为一维数组的线性表(数组元素改为数据元素)

34. 对N(N≥2)个权值均不相同的字符构造哈夫曼树。下列关于该哈夫曼树的叙述中,错误的是:(D)

A.树中一定没有度为1的结点

B.树中两个权值最小的结点一定是兄弟结点

C.树中任一非叶结点的权值一定不小于下一层任一结点的权值

D.该树一定是一棵完全二叉树

A.哈夫曼树中,只有度为0的点和度为2的点

B.哈夫曼树并不一定是满二叉树

C因为哈弗曼树的构造每一次选择两个权值最小的节点,来形成哈弗曼树的第一个新节点,
,哈弗曼树的构造思想就是贪心的思想,自底向上建树,因此对于一棵哈弗曼树来说,树中任一非叶节点的权值一定不小于下一层的任意节点的权值。

D.哈夫曼树并不一定满足完全二叉树的定义

完全二叉树:

1叶子结点只可能出现在最后两层

2.度为1的结点个数为0或1

满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树

35. 哈夫曼树是n个带权叶子结点构成的所有二叉树中(C)最小的二叉树。

A.权值

B.高度

C.带权路径长度

D.度

36.数组A[1..5,1..6]每个元素占5个单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为:(C)

A.1120

B.1125

C.1140

D.1145

按行序:1000+(4*6+4)*5=1140

37.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用哪种存储方式最节省时间?(D)

A.双链表

B.单循环链表

C.带头结点的双循环链表

D.顺序表

存取任一指定序号的元素和在最后进行插入和删除运算,采用顺序表最好

38. 设一个栈的输入序列是1、2、3、4、5,则下列序列中,是栈的合法输出序列的是?(A)

A.3 2 1 5 4

B.5 1 2 3 4

C.4 5 1 3 2

D.4 3 1 2 5

栈:先进后出

A.1进2进3进 3出 2出1出 4进 5进 5出 4出  3 2 1 5 4

B1进2进3进4进5进 5出 4出 3出2出1 出 5 4 3 2 1

C1进 2进 3进 4进 4出5进 5出 3出 2 出 1出   4 5 3 2 1

D1进 2进 3进 4进 4出 3出 2出1出 5进 5出   4 3 2 1 5

39. 有六个元素以6、5、4、3、2、1的顺序进栈,问哪个不是合法的出栈序列?(B)

A.2 3 4 1 5 6

B.3 4 6 5 2 1

C.5 4 3 6 1 2

D.4 5 3 1 2 6

6比5先进,6比5后出,B不符合

40. (neuDS)若将整数1、2、3、4依次进栈,则不可能得到的出栈序列是( D)。

A.1234

B.1324

C.4321

D.1423

2比3先进,2比3后出

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

搭建Docker私有镜像服务器

一、前言 1、本文主要内容 基于Decker Desktop&Docker Registry构建Docker私有镜像服务器测试在CentOS 7上基于Docker Registry搭建公共Docker镜像服务器修改Docker Engine配置以HTTP协议访问Docker Registry修改Docker Engine配置通过域名访问Docker Registry配置SSL证书…

了解不同方式导入导出的速度之快

目录 一、用工具导出导入 Navicat(速度慢) 1.1、导入: 共耗时: 1.2、导出表 共耗时: 二、用命令语句导出导入 2.1、mysqldump速度快 导出表数据和表结构 共耗时: 只导出表结构 导入 共耗时&…

C#,字符串匹配算法(模式搜索)Z算法的源代码与数据可视化

Z算法也是模式搜索(Pattern Search Algorithm)的常用算法。 本文代码的运算效果: 一、Z 算法 线性时间模式搜索算法的Z算法,在线性时间内查找文本中模式的所有出现。 假设文本长度为 n,模式长度为 m,那么…

__init__中的__getattr__方法

结论: 在 __init__.py 文件中定义的 __getattr__ 方法,如果存在的话,通常用于处理包级别的属性访问。在包级别,__getattr__ 方法在导入模块时被调用,而不是在实例化包时。当你尝试访问包中不存在的属性时,__getattr__ 方法会被调用,给你一个机会来处理这个属性访问。 …

Linux第24步_安装windows下的VisualStudioCode软件

Windows下的VSCode安装后,还需要安装gcc编译器和g编译器。 gcc:编译C语言程序的编译器; g:编译C代码的编译器; 1、在Windows下安装VSCode; 双击“VSCodeUserSetup-x64-1.50.1.exe”,直到安装完成。 2、…

ride无法使用open Browser关键字

一般是版本兼容性问题。将robotframework版本降级为:3.1.2 pip install robotframework3.1.2 2、仍然没有得到解决时,查看robotframework-selenium2library版本 pip list 将robotframework-seleniumlibrary也改成3.XX的版本就可以了 pip unstall robotfr…

Git远端删除的分支,本地依然能看到 git remote prune origin

在远端已经删除ylwang_dev_786等三四个分支,本地git branch -a 时 依然显示存在。 执行 git remote show origin 会展示被删除的那些分支 当你在Git远程仓库(如GitLab)上删除一个分支后,这个变更不会自动同步到每个开发者的本地…

2024年第九届计算机与通信系统国际会议(ICCCS2024) ,邀您相约西安!

会议官网: ICCCS2024 | Xian China 时间: 2024年4月19-22日 地点: 中国西安 会议简介: 近年来,信息通信在不断发展,为计算机网络的进步与发展提供了先进可靠的技术支持。随着计算机网络与通信技术的深入发展,计算机通信技术、数…

排队免单?买东西花了钱还能拿回来?——工会排队模式

随着互联网和电子商务的迅猛发展,消费者的购物需求和期望也在不断升级。为了满足这一需求,工会排队模式作为一种创新消费体验模式应运而生。 工会排队模式是一种颠覆传统的电商模式,它通过向消费者返还现金的方式,重新定义了购物体…

《路由与交换技术》---练习题(无答案纯享版)

注意!!!这篇blog是无答案纯享版的 选择填空的答案我会放评论区 简答题可以看这里 计算题可以发私信问我(当然WeChat也成)but回讯息很慢 一、选择题 1.以下不会在路由表里出现的是: ( ) A.下一跳地址 B.网络地址 C…

Java线程池最全详解

1. 引言 在当今高度并发的软件开发环境中,有效地管理线程是确保程序性能和稳定性的关键因素之一。Java线程池作为一种强大的并发工具,不仅能够提高任务执行的效率,还能有效地控制系统资源的使用。 本文将深入探讨Java线程池的原理、参数配置…

PHP Web应用程序中常见漏洞

一淘模板(56admin.com)发现PHP 是一种流行的服务器端脚本语言,用于开发动态 Web 应用程序。但是,与任何其他软件一样,PHP Web 应用程序也可能遭受安全攻击。 在本文中,我们将讨论 PHP Web 应用程序中一些最常见的漏洞…

linux异常情况,排查处理中

登录客户环境后,发现一个奇怪情况如下图,之前也遇到过,直接fuser -ck /backup操作的话,主机将会重启,因数据库运行中,等待停机维护时间,同时也在想办法不重启的情况下解决该问题 [rootdb ~]# f…

使用西瓜视频官网来创造一个上一集,下一集的按钮,进行视频的切换操作

需求: 仿照西瓜视频写一个视频播放和上一集下一集的按钮功能 回答: 先访问官网: 西瓜播放器 这是西瓜视频的官网, 点击官网的示例按钮,可以看到相关的视频示例以及相关的代码, 我们复制下来代码,然后添加按钮和切换视频的方法, 完整代码: <!DOCTYPE html> <ht…

Hotspot源码解析-第十七章-虚拟机万物创建(三)

17.4 Java堆空间内存分配 分配Java堆内存前&#xff0c;我们先通过两图来了解下C堆、Java堆、内核空间、native本地空间的关系。 1、从图17-1来看&#xff0c;Java堆的分配其实就是从Java进程运行时堆中选中一块内存区域来映射 2、从图17-2&#xff0c;可以看中各内存空间的…

Springboot3(一、lambda、::的应用)

文章目录 一、使用lambda简化实例创建1.语法&#xff1a;2.示例&#xff1a;3.Function包3.1 有入参&#xff0c;有返回值【多功能函数】3.2 有入参&#xff0c;无返回值【消费者】3.3 无入参&#xff0c;有返回值【提供者】3.4 无入参&#xff0c;无返回值 二、类::方法的使用…

基于ssm运动会管理系统的设计与实现 【附源码】

基于ssm运动会管理系统的设计与实现 【附源码】 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuil…

C2-3.3.2 机器学习/深度学习——数据增强

C2-3.3.2 数据增强 参考链接 1、为什么要使用数据增强&#xff1f; ※总结最经典的一句话&#xff1a;希望模型学习的更稳健 当数据量不足时候&#xff1a; 人工智能三要素之一为数据&#xff0c;但获取大量数据成本高&#xff0c;但数据又是提高模型精度和泛化效果的重要因…

工业智能网关:HiWoo Box远程采集设备数据

工业智能网关&#xff1a;HiWoo Box远程采集设备数据 在工业4.0和智能制造的浪潮下&#xff0c;工业互联网已成为推动产业升级、提升生产效率的关键。而在这其中&#xff0c;工业智能网关扮演着至关重要的角色。今天&#xff0c;我们就来深入探讨一下工业智能网关。 一、什么…

Apache JMeter 5.5: 新手指南

如何获取并运行 JMeter 首先&#xff0c;要使用 JMeter&#xff0c;你需要从官网获取软件包。前往 Apache JMeter 的官方页面&#xff0c;然后下载所 需的压缩文件。 配置和启动 JMeter 获取了 JMeter 后&#xff0c;由于它是无需安装即可使用的工具&#xff0c;直接解压下载…