数据结构-测试4

一、判断题

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.rhkb.cn/news/233480.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【CMake】1. VSCode 开发环境安装与运行

CMake 示例工程代码 https://github.com/LABELNET/cmake-simple 插件 使用 VSCode 开发C项目,安装 CMake 插件 CMakeCMake ToolsCMake Language Support (建议,语法提示) 1. 配置 CMake Language Support , Windows 配置 donet 环境 这…

异地环控设备如何远程维护?贝锐蒲公英解决远程互联难题

青岛某企业致力于孵化设备、养禽设备和养猪设备的研发、生产和服务,历经三十多年发展,目前已成长为行业主要的养殖装备及工程服务提供商,产品覆盖养殖产业链中绝大多数环节,涉及自动化设备、环控设备、整体解决方案等。 在实际应用…

Python3从零基础到入门(1)

目录 一、环境搭建 1.检测Python环境 2.下载安装Python环境 3.VSCode中配置Python环境 二、第一个程序 1.编码 2.输出 3.标识符 4.import 5.保留字 6.注释 7.缩进 三、变量和赋值 1.Python 中的变量 2.变量的赋值 3.多个变量赋值 四、基础数据类型 1.类型查看…

以unity技术开发视角对android权限的讲解

目录 前言 Android权限分类 普通权限 普通权限定义 普通权限有哪些 危险权限 危险权限的定义 危险权限有哪些 动态申请权限实例 申请单个权限实例 第一步:在清单文件中声明权限 第二步:在代码中进行动态申请权限 申请多个权限实例 第一步&am…

以对象为中心的视频编辑;SDXL高质量缩小版;Transformer在FPGA上实现12.8倍速度提升;深入研究ViT固有问题

本文首发于公众号:机器感知 以对象为中心的视频编辑;SDXL高质量缩小版;Transformer在FPGA上实现12.8倍速度提升;深入研究ViT固有问题 VASE: Object-Centric Appearance and Shape Manipulation of Real Videos 现有方法通过文生…

前端学习笔记 3:Vue 工程

前端学习笔记 3:Vue 工程 上一篇文章介绍了如何在单一 Html 页面中使用 Vue,本文介绍如何从头开始用 Vue 构建一个前端工程项目。 1.环境准备 Vue 框架代码的创建依赖于 Node.js,因此需要先安装 Node.js。 2.创建和启动 2.1.创建 通过以…

MongoDB高级集群架构设计

两地三中心集群架构设计 容灾级别 RPO & RTO RPO(Recovery Point Objective):即数据恢复点目标,主要指的是业务系统所能容忍的数据丢失量。RTO(Recovery Time Objective):即恢复时间目标&…

OpenHarmony内存泄漏指南 - 解决问题(综合)

本系列文章旨在提供定位与解决OpenHarmony应用与子系统内存泄露的常见手段与思路,将会分成几个部分来讲解。首先我们需要掌握发现内存泄漏问题的工具与方法,以及判断是否可能存在泄漏。接着需要掌握定位泄漏问题的工具,以及抓取trace、分析tr…

智能计价器Scratch-第14届蓝桥杯Scratch省赛真题第5题

5. 智能计价器(80分) 背景信息:A城市的出租车计价:3公里以内13元,基本单价每公里2.3元(超过3公里的部分,不满1公里按照1公里收费),燃油附加费每运次1元。例如:3.2公里的…

自动化测试报告生成(Allure)

之前尝试使用过testNG自带的测试报告、优化过reportNG的测试报告,对这两个报告都不能满意。后经查找资料,发现有个神器: Allure(已经有allure2了,笔者使用的就是allure2),生成的测试报告与上述…

【回溯算法】n-皇后

导航 题目来源题目描述示例思路完整代码 题目来源 n-皇后 题目描述 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一…

【Linux Shell】9. 流程控制

文章目录 【 1. if else 判断 】1.1 if1.2 if else1.3 if elif else1.4 实例 【 2. case 匹配 】【 3. 循环 】3.1 for 循环3.2 while 循环3.3 until 循环3.4 无限循环3.5 跳出循环3.5.1 break 跳出所有循环3.5.2 continue 仅跳出当前循环 【 1. if else 判断 】 1.1 if fi 是…

【算法】递归算法理解(持续更新)

这里写目录标题 一、递归算法1、什么情况下可以使用递归?2、递归算法组成部分3、案例:求n的阶乘4、编写一个递归函数来计算列表包含的元素数。5、通过递归找到列表中最大的数字。6、通过递归的方式实现二分查找算法。 一、递归算法 递归(Rec…

“单项突出”的赢双科技IPO加速,比亚迪是最强助力?

近日,新能源汽车核心部件供应商赢双科技首次递表科创板,其凭借旋转变压器产品就坐稳了新能源车企主要供应商的地位,从核心业务及业绩情况来看,赢双科技不愧为“单项冠军”。 据悉,赢双科技本次IPO拟募资8.47亿元&…

3.9 EXERCISES

矩阵加法需要两个输入矩阵A和B,并产生一个输出矩阵C。输出矩阵C的每个元素都是输入矩阵A和B的相应元素的总和,即C[i][j] A[i][j] B[i][j]。为了简单起见,我们将只处理元素为单精度浮点数的平方矩阵。编写一个矩阵加法内核和主机stub函数&am…

P9 视频码率及其码率控制方式

前言 从本章开始我们将要学习嵌入式音视频的学习了 ,使用的瑞芯微的开发板 🎬 个人主页:ChenPi 🐻推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ 🔥 推荐专栏2: 《Linux C应用编程(概念类)_C…

一款开源的MES系统

随着工业4.0的快速发展,制造执行系统(MES)成为了智能制造的核心。今天,将为大家推荐一款开源的MES系统——iMES工厂管家。 什么是iMES工厂管家 iMES工厂管家是一款专为中小型制造企业打造的开源MES系统。它具备高度的可定制性和灵…

Jenkins集成部署java项目

文章目录 Jenkins简介安装 Jenkins简介 Jenkins能实时监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象的展示项目构建的趋势和稳定性。 官网 安装 在官网下载windows版本的Jenkins 但是我点击这里浏览器没有反应&#xff0…

关于自增和自减的一些细节问题

目录 基本概念 1.运算 2.输出 基本概念 在这里简单回顾一下自增和自减:顾名思义,自就是同一变量的值发生变化,自增就是该变量值加1,自减就是该变量值减1。 自增和自减又可以根据运算符的位置不同分为前缀式和后缀式。前缀就是…

hfish蜜罐docker部署

centos 安装 docker-CSDN博客Docker下载部署 Docker是我们推荐的部署方式之一,当前的版本拥有以下特性: 自动升级:每小时请求最新镜像进行升级,升级不会丢失数据。数据持久化:在宿主机/usr/share/hfish目录下建立dat…