数据结构-测试4

news2024/9/21 0:48:37

一、判断题

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

2.度为二的树就是二叉树。(F)

二叉树的度可以小于等于2

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

栈和队列的共同特点是:都是操作受限定的线性表,且操作的位置限制在表的端点

双端队列:1.一个端点允许插入和删除,另一个端点只允许插入;

                  2.一个端点允许插入和删除,另一个端点只允许删除

队列:先进先出   只允许在表的一端插入元素,而在表的另一端删除元素

栈:先进后出       将线性表的插入和删除操作限制为仅在表的一端进行

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

5.某二叉树的前序和中序遍历序列正好一样,则该二叉树中的任何结点一定都无左孩子。(T)

前序遍历:根 左 右

中序遍历:左 根 右

6.算法可以没有输入,但是必须有输出。(T).

7.对于顺序存储的长度为N的线性表,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。(T)

链式存储:访问节点 o(N)             删除、增加结点O(1)

8. 若一个结点是某二叉树的中序遍历序列的最后一个结点,则它必是该树的前序遍历序列中的最后一个结点。(F)

中序遍历:ba

前序遍历:ab

所以可以反驳上述问题

9. 在具有N个结点的单链表中,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。(F)

链表中,访问结点o(n),增加结点o(1)

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

完全二叉树:

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

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

 

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

二、单选题 

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

A.1324

B.1234

C.4321

D.1423

栈:先进后出 

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

B.1进1出,2进2出,3进3出,4进4出      1 2 3 4

C.1进2进3进4进4出3出2出1出                 4 3 2 1

D.1进1出2进3进4进 4出3出 2出                1  4 3 2

2.以下数据结构中,(C )是非线性数据结构

A.字符串

B.栈

C.树

D.队

树和图为非线性数据结构

 3.一棵有 1001 个结点的完全二叉树,其叶子结点数为 ▁D▁▁▁▁ 。

A.500

B.250

C.254

D.501

2n-1=1001   n=1002/2=501

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

A.孩子兄弟表示法

B.顺序存储表示法

C.双亲表示法

D.孩子链表表示法

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

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

树的主要存储方法有:双亲表示法(顺序存储)、孩子表示法(孩子链表)、孩子兄弟表示法(树的二叉表示法、二叉链表表示法)

5、 下列函数中,哪两个函数具有相同的增长速度:(B)

A.N^2(logN)和N(log(N^2))

B.Nlog(N^2)和NlogN

C.N和2/N

D.2^N和N^N

2Nlog(N)   NlogN

2logN  ~logN

倍数为相差,所以增长速度可以相当于同等

6. 已知字符集{ a, b, c, d, e, f, g, h }。若各字符的哈夫曼编码依次是 0100, 10, 0000, 0101, 001, 011, 11, 0001,则编码序列 0100011001001011110101 的译码结果是:(A)

A.afeefgd

B.acgabfh

C.adbagbb

D.afbeagd

0100(a)011(f)001(e)001(e)011(f)11(g)0101(d)

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

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

B.单链表

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

D.双链表

A、B、C:单链表只能单向遍历,只能由链表头向链表尾遍历,因此要找到最后一个元素必须遍历整个表;
D:要插入结点,只要改变一下指针即可,要删除头结点,只要将指针移动到头结点即可

8.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用(D)最节省时间。

A.单链表
B.单循环链表
C.带尾指针的单循环链表
D.带头结点的双循环链表

在链表的末尾插入结点或删除尾结点时,需要修改其相邻结点的指针域,因此需要寻找尾结点和尾结点的前驱节点。
A、B:对于单链表或单循环链表,寻找尾结点的时间复杂度均为O(n);
C :对于带尾指针的单循环链表,可以直接通过尾指针定位到尾结点进行插入,时间复杂度为O(1),但在删除时还是需要遍历表来找到尾结点的直接前驱结点,时间复杂度为O(n);
D:对于带头结点的双循环链表,可以通过时间复杂度O(1)直接定位到尾结点或尾结点的前驱节点

9. 数据结构中,与所使用的计算机无关的是数据的(B逻辑 ) 结构。

A.逻辑和存储

B.逻辑

C.物理

D.存储

数据结构:逻辑结构和存储结构(物理结构)

逻辑结构从逻辑关系上描述数据,与数据的存储无关,是独立于计算机的

10. 在具有N个结点的单链表中,实现下列哪个操作,其算法的时间复杂度是O(N)?(B)

A.删除地址为p的结点的后继结点

B.遍历链表和求链表的第i个结点

C.在地址为p的结点之后插入一个结点

D.删除开始结点

链表:遍历或者访问为o(n)

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

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

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

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

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

12.算法分析的目的是( A)。

A.分析算法的效率以求改进

B.研究算法中的输入和输出的关系

C.找出数据结构的合理性

D.分析算法的可读性和简明性

算法分析的目的,是分析算法的效率以求改进

13. 在单链表中,若p所指的结点不是最后结点,在p之后插入s所指结点,则执行(D)

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

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

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

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

14.用数组表示线性表的优点是(A)。

A.便于随机存取

B.便于插入和删除操作

C.不需要占用一片相邻的存储空间

D.可以动态地分配存储空间

用数组表示线性表的优点:随机存取

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

A.权值

B.带权路径长度

C.高度

D.度

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

A.堆栈

B.图

C.队列

D.树

这里系统输入缓冲区采用了循环队列,队列的特性保证了输入字符先输入,先保存,先处理的要求,这里的循环结构又有效地限制了缓冲区的大小,并避免了假溢出的问题。

17. 顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是(D )。

A.100

B.110

C.108

D.105

18.若一棵二叉树有126个结点,在第7层(根结点在第1层)至多有(B )个结点。

A.不存在第7层

B.63

C.64

D.32

1+2+4+8+16+32+64(2^6)=127>126   64-1=63

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

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

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

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

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

先序:abc   中序:abc  后序:bca

20. 在数据结构中,从逻辑上可以把数据结构分成( C)。

A.动态结构和静态结构

B.紧凑结构和非紧凑结构

C.线性结构和非线性结构

D.内部结构和外部结构

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

A.8

B.16

C.32

D.15

2^4=16

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

A.都是先进先出

B.没有共同点

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

D.都是先进后出

23.能在O(1)时间内访问线性表的第i个元素的结构是(C)。

A.双向链表

B.单向循环链表

C.顺序表

D.单链表

E.替换为错误项

24.链表的适用场合

线性表在 ▁▁▁▁▁ 情况下适合采用链式存储结构。(B)

A.线性表中数据元素的值需经常修改

B.线性表需经常插入或删除数据元素

C.线性表包含大量的数据元素

D.线性表的数据元素包含大量的数据项

25.按照二叉树定义,具有3个结点的二叉树共有(A)种形态。

A.5

B.4

C.6

D.3

26.下面代码段的时间复杂度是(D)。

A.O(log2​n)

B.O(1)

C.O(n)

D.O(n2)

两层长度为n的for循环

27. 一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为(C)个。

A.47

B.15

C.16

D.17

双分支节点即度为2的节点数,叶子结点=度为2的结点数+1=15+1=16

 28.链表具备的特点是​(C )。

A.插入删除不需要移动元素

B.所需空间与其长度成正比

C.可随机访问任一结点替换为错误项

D.不必事先估计存储空间

随机存取为线性表的优点

29. 线性表、堆栈、队列的主要区别是什么?(B)

A.堆栈和队列都不是线性结构,而线性表是

B.堆栈和队列都是插入、删除受到约束的线性表

C.线性表用指针,堆栈和队列用数组

D.线性表和队列都可以用循环链表实现,但堆栈不能

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

A.ABDFEGC

B.ABCDEFG

C.ABDEFCG

D.ABDFECG

前序遍历:根 左 右

A    BDF E   CG  

31. 在存储数据时,通常不仅要存储各数据元素的值,而且还要存储( A数据元素之间的关系)。

A.数据元素之间的关系

B.数据的存储方法

C.数据元素的类型

D.数据的处理方法

存储数据时,不仅要存储数据元素的值,还要存储数据元素之间的关系,在顺序存储结构中,数据元素之间的关系是通过物理位置来体现的;在链式存储结构中,数据元素之间的关系是通过结点的指针来体现的

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

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

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

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

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

A     BDHI  E  CFG

                                     

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          

 

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

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

相关文章

使用GraphQL实现简单的增删改查

使用GraphQL实现简单的增删改查 GraphQL官网:https://graphql.cn/ Altair Graphql 调试工具:https://saltair.sirmuel.design/#download 或者添加扩展使用网页版:https://chrome.google.com/webstore/detail/altair-graphql-client/flnheeel…

Ubuntu上安装VMware+win11系统手册

Ubuntu安装vmware 下载: Linux 版下载地址:https://www.vmware.com/go/getworkstation-linux 安装: sudo chmod x VMware-Workstation-Full-17.5.0-22583795.x86_64.bundle 执行安装命令: sudo ./VMware-Workstation-Full-17.5.0…

4.1 Importance of Memory Access Efficiency

到目前为止,我们已经学会了如何编写CUDA内核函数,以及如何通过大量线程配置和协调其执行。在本章中,我们将研究如何组织和定位数据,以便通过大量线程进行高效访问。我们在第2章中讨论了数据并行计算,即数据首先从主机内…

哈希-力扣350. 两个数组的交集Ⅱ

题目 给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。 示…

Hyperledger Fabric 核心概念与组件

要理解超级账本 Fabric 的设计,首先要掌握其最基本的核心概念与组件,如节点、交易、排序、共识、通道等。 弄清楚这些核心组件的功能,就可以准确把握 Fabric 的底层运行原理,深入理解其在架构上的设计初衷。知其然,进…

Requests库的接口测试实现

Requests库是在接口测试中被广泛运用的库,包括模拟请求的下发,请求相关配置和响应结果的获取,核心主体都是通过request库完成。在接口测试中使用非常频繁。 一、Requests库环境搭建 接口测试的核心从模拟请求开始。在Python中,通…

Postgres 中文周报:PostgreSQL 2023 热门回顾

2024 新年好!原英文 Postgres Weekly 最新一期回顾了 2023 周刊中的热门点击文章、视频与工具等事项。当然,PostgreSQL 在 2023 年值得回顾的瞬间还有很多,远不止周刊中提到的。因此,在编译原周刊内容的基础上,我们增加…

mysql+关掉密码过期

mysql关掉密码过期 要在MySQL中关闭密码过期功能,可以按照以下步骤进行操作: 登录到MySQL服务器。 使用管理员账户(如root)连接到数据库。 mysql -uroot -ppassword 运行以下命令来查看当前的密码过期设置: SHOW…

学校服务器安装anaconda并配置pytorch环境

学校服务器安装anaconda并配置pytorch环境 1.下载Anaconda2.传到xftp中3.在终端运行脚本命令4.安装pytorch4.1 查看cuda版本4.2 创建自己的环境4.3 下载pytorch4.4 验证pytorch是否安装成功 参考视频:远程服务器安装anaconda并配置pytorch环境 使用服务器运行项目&a…

回顾2023编程之旅

一、前言 看在给了我一个博客专家的份上就继续写写博客,实事求是的讲如果是工作之余去总结csdn写写技术博客,还想混个专家什么的,真的是精力不够。因为里面的灌水的实在太多,比不过的,写这个玩意必须得淡泊名利才能悠然…

ACL16_S 系列 低成本物联网安全芯片,可应用物联网认证、 SIM、防抄板和设备认证等产品上

ACL16_S 芯片是针对物联网认证、 SIM、防抄板和设备认证需求推出的高安全芯片。芯片采用 32 位 ARMCortex™-M0 系列内核,片内集成多种安全密码模块,包括 RSA/ECC DES/TDES、 SHA-1/-256、 AES-128/-192/-256 等国际安全算法,支持真随机数发…

Arcgis像元统计数据

目录 单幅影像统计多幅影像统计 单幅影像统计 现有一幅NDVI影像,如何知道影像中NDVI的分布情况呢? 先栅格转点,然后在属性表中查看汇总情况 还有一种方法就是在ENVI中打开, -0.3-0.338占据了99% 多幅影像统计 现有多幅NDVI影…

网络协议与攻击模拟_01winshark工具简介

一、TCP/IP协议簇 网络接口层(没有特定的协议) 物理层:PPPOE宽带拨号(应用场景:宽带拨号,运营商切网过来没有固定IP就需要拨号,家庭带宽一般都采用的是拨号方式)数据链路层网络层…

uniapp中组件库的Textarea 文本域的丰富使用方法

目录 #平台差异说明 #基本使用 #字数统计 #自动增高 #禁用状态 #下划线模式 #格式化处理 API #List Props #Methods #List Events 文本域此组件满足了可能出现的表单信息补充,编辑等实际逻辑的功能,内置了字数校验等 注意: 由于…

基于微信小程序的热院成都味道系统的设计与实现

互联网的普及彻底颠覆了人们的生活,一直以来人们都是通过到餐厅就餐来满足自己的口腹之欲,而在工作学习繁忙的时候只能通过方便食品来进行充饥。而外卖订餐的出现则为这些人群提供了一个兼顾美食与工作学习的解决方案,因此已经有越来越多的人…

全视通发表“物联网赋能智慧医院建设”主题演讲获关注

邕州山河,神州沃壤。近日,备受瞩目的“2024广西医院和实验室建设学术年会暨净化专业委员会成立六周年庆典”在广西南宁圆满召开。作为智慧医康养整体方案提供商,全视通受邀参会并发表了主题为“物联网赋能智慧医院建设”的演讲,深…

在macos上查看当前进程的栈信息

概述 在调试程序时,如cpu莫名的高或低,一个常用的方式就是打印当前进行的调用栈,然后确认各线程的执行函数是否有异常。 在linux系统中可以使用pstack命令,直接打印各线程的栈信息,可惜在macos上没有该命令。一种解决…

利用人工智能和机器人技术实现复杂的自动化任务!

这篇mylangrobot项目由neka-nat创建,本文已获得作者Shirokuma授权进行编辑和转载。 https://twitter.com/neka_nat GitHub-mylangrobot :GitHub - neka-nat/mylangrobot: Language instructions to mycobot using GPT-4V 引言 本项目创建了一个使用GPT-4…

MySQL运维实战(3.1) MySQL官方客户端使用介绍

作者:俊达 引言 MySQL是MySQL安装包默认的客户端,该客户端程序通常位于二进制安装包的bin目录中,或者通过rpm安装包安装mysql-community-client,是数据库管理系统的重要组成部分。MySQL客户端不仅仅是一个简单的软件工具&#x…

【数据库原理】(15)数据关系模式与规范

在数据库系统设计中,数据模式的设计是至关重要的。这涉及到如何将现实世界的复杂结构和关系有效地转化为适宜的数据模式。关系模式,得益于其坚实的数学理论基础,不仅能以二维表的形式清晰地表达实体,还能描述实体之间的相互关系&a…