数据结构-测试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.mzph.cn/news/606208.shtml

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

相关文章

C++模板——(2)函数模板的声明和使用

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 勤奋,机会,&am…

Linux文件系统与日志管理

目录 一、Linux文件系统 1、inode 与 block 详解 1.1 inode 和 block 概述 1.2 inode表的内容 1.3 查看文件的inode号码 1.4 模拟innode号耗尽故障处理 2、访问文件的流程 3、文件恢复 3.1 恢复误删除的ext3格式文件 3.2 恢复误删除的 xfs 格式文件 二、Linux日志…

《BackTrader量化交易图解》第8章:plot 绘制金融图

文章目录 8. plot 绘制金融图8.1 金融分析曲线8.2 多曲线金融指标8.3 Observers 观测子模块8.4 plot 绘图函数的常用参数8.5 买卖点符号和色彩风格 8. plot 绘制金融图 8.1 金融分析曲线 BackTrader内置的plot绘图函数, 通过style参数变量控制不同风格的K线图&…

因为热Key和大Key,Redis终于被压崩了

大家好,我是洋子,今天分享一下在做压测时遇到的很有意思的性能问题以及对应的排查解决方案。这个性能问题的现象为,Redis线上实例不可用,Redis读写均超时 性能问题排查过程 先来看一下问题代码(Go语言实现&#xff0…

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

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

RT-Thread: 基于STM32CubeMX配置驱STM32驱动的USB虚拟串口调试

关键词:USB 虚拟串口 USB虚拟串口,RT-Thread Studio,STM32 说明: 1:文档记录 STM32F103系列基于 RT-Thread 系统的 USB虚拟串口的开启及数据收发应用流程介绍。 2:本文以STM32F103C8T6型号做测试&#x…

计算机基础面试题 |16.精选计算机基础面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

Win10电脑关闭OneDrive自动同步的方法

在Win10电脑操作过程中,用户想要关闭OneDrive的自动同步功能,但不知道具体要怎么操作?首先用户需要打开OneDrive,然后点击关闭默认情况下将文档保存到OneDrive选项保存,最后关闭在这台电脑上同步设置保存就好了。接下来…

TypeScript 从入门到进阶之基础篇(九) Class类篇

系列文章目录 TypeScript 从入门到进阶系列 TypeScript 从入门到进阶之基础篇(一) ts基础类型篇TypeScript 从入门到进阶之基础篇(二) ts进阶类型篇TypeScript 从入门到进阶之基础篇(三) 元组类型篇TypeScript 从入门到进阶之基础篇(四) symbol类型篇TypeScript 从入门到进阶…

OCP NVME SSD规范解读-5.命令超时限制-2

Sanitize清除的数据很彻底,对FTL映射表、User Data(包括已经写入NAND和仍在cache里的)、Meta Data、安全密匙、CMB中SQ/CQ相关信息、可能含有用户数据的log等等会全部清除。不过,sanitize操作不会改变RPMB、boot分区、不包含用户数据的cache等内容。 RP…

总420+,专业120+南京大学851信号与系统电子信息考研经验通信,电子信息

今年考研数学130,专业课120,总分420顺利被南京大学电通录取,梦圆南大,这一年的复习有过迷茫,有过犹豫,最后都坚持过来了,总结一下自己的复习经验,希望对大家有所帮助。数学 5-8月数…

HarmonyOS应用开发之ArkTS语言学习记录

1、ArkTS介绍 ArkTS是鸿蒙生态的应用开发语言。它在保持TypeScript(简称TS)基本语法风格的基础上,对TS的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式UI、状态管理等相应的能力,让开发者…

76.乐理基础-打拍子-二连音、四连音

内容来源于:三分钟音乐社 上一个内容:八三、八六拍的三角形打法-CSDN博客 这里要先理解了三连音的知识。 关于多少连音的总方针,其实就是两句话,如下图中的内容:二连音与四连音实际上就是下图中第二句话里的第一部分…

mmdetection训练自己的数据集

mmdetection训练自己的数据集 这里写目录标题 mmdetection训练自己的数据集一: 环境搭建二:数据集格式转换(yolo转coco格式)yolo数据集格式coco数据集格式yolo转coco数据集格式yolo转coco数据集格式的代码 三: 训练dataset数据文件配置config…

高防ip适合防御网站和游戏类的攻击吗?

​  作为站长,要学会并承受得住网站外来攻击的压力,尤其是所属为 DDoS 攻击高发行业的网站类业务及游戏行业,是很容易被竞争对手或者一些伪黑客爱好者盯上的。 加上,有些站长并没有提前了解,就盲目进军了这两个行业&…

C语言算法(二分查找、文件读写)

二分查找 前提条件&#xff1a;数据有序&#xff0c;随机访问 #include <stdio.h>int binary_search(int arr[],int n,int key);int main(void) {}int search(int arr[],int left,int right,int key) {//边界条件if(left > right) return -1;//int mid (left righ…

SAP 物料读取基本数据文本与检验文本READ_TEXT

1. 读取基本数据文本 使用函数 READ_TEXT 2. 读取检验文本

聚道云软件连接器助力某软件科技有限公司实现人力资源信息自动化

客户介绍&#xff1a; 某软件科技有限公司是一家集软件研发、销售、服务于一体的综合性软件企业。公司业务遍布全球多个国家和地区&#xff0c;拥有众多员工。 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 客户痛点&#xff1a; 部门及人员信息分散…

PyTorch|保存与加载自己的模型

训练好一个模型之后&#xff0c;我们往往要对其进行保存&#xff0c;除非下次用时想再次训练一遍。 下面以一个简单的回归任务来详细讲解模型的保存和加载。 来看这样一组数据&#xff1a; xtorch.linspace(-1,1,50)xx.view(50,1)yx.pow(2)0.3*torch.rand(50).view(50,1) 画…

【HarmonyOS】深入了解 ArkUI 的动画交互以提高用户体验

从今天开始&#xff0c;博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”&#xff0c;对于刚接触这项技术的小伙伴在学习鸿蒙开发之前&#xff0c;有必要先了解一下鸿蒙&#xff0c;从你的角度来讲&#xff0c;你认为什么是鸿蒙呢&#xff1f;它出现的意义又是…