数据结构-测试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

                                     

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          

 

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

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

相关文章

代码随想录算法训练营第二十四天 | 回溯算法

理论基础 代码随想录原文 什么是回溯法 回溯也可以叫做回溯搜索法,它是一种搜索的方式。 回溯是递归的副产品,只要有递归就会有回溯。 回溯法的效率 虽然回溯法很难,不好理解,但是回溯法并不是什么高效的算法。因为回溯的本…

对接讯飞聊天机器人接口--复盘

1、准备工作 1)、进入以下平台进行注册,登录后,点击红框处 2)、点击个人免费包(会弹出实名认证,先进行实名认证) 3)、认证后,会进入以下界面,先添加应用 4&am…

栈的经典算法问题(算法村第四关白银挑战)

括号匹配问题 有效的括号 20. 有效的括号 - 力扣(LeetCode) 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类…

滴水逆向1

八进制加法乘法表 EF11101111 j记住其映射关系 十进制的定义:由十个符号组成,分别是0 1 2 3 4 5 6 7 8 9 逢十进一。九进制的定义:由九个符号组成,分别是0 1 2 3 4 5 6 7 8 逢九进一。十六进制的定义:由十六个符号组成…

鸿蒙开发解决agconnect sdk not initialized. please call initialize()

文章目录 项目场景:问题描述原因分析:解决方案:总结:项目场景: 鸿蒙开发报错: agconnect sdk not initialized. please call initialize() 问题描述 报错内容为: 10-25 11:41:01.152 6076-16676 E A0c0d0/JSApp: app Log: 数据查询失败: {“code”:1100001,“messag…

在Kubernetes中优雅地导出和清理Ingress资源

引言 Kubernetes的Ingress资源是定义外部访问集群服务的规则。随着微服务架构和容器化技术的普及,Ingress作为路由流量的关键组件变得愈发重要。当我们需要在环境之间迁移Ingress资源或者备份当前的配置时,就会用到导出功能。然而,直接使用k…

听GPT 讲Rust源代码--compiler(29)

File: rust/compiler/rustc_const_eval/src/util/check_validity_requirement.rs 在Rust编译器的源代码中,rust/compiler/rustc_const_eval/src/util/check_validity_requirement.rs文件的作用是进行验证要求的检查。具体而言,该文件定义了函数check_val…

一文讲透使用Python绘制双纵轴线图

双纵轴线图主要用来展示两个因变量和一个自变量的关系,并且两个因变量的数值单位不同。具体来说,双纵轴线图是指在一幅图上有一个横轴和两个纵轴,适用于三个变量。两个纵轴分别表示一个变量,横轴变量同时适用于两个纵轴上的变量&a…

C++力扣题目--94,144,145二叉树非递归(迭代)遍历

为什么可以用迭代法(非递归的方式)来实现二叉树的前后中序遍历呢? 我们在栈与队列:匹配问题都是栈的强项 (opens new window)中提到了,递归的实现就是:每一次递归调用都会把函数的局部变量、参数值和返回地…

Azure Machine Learning - 人脸识别任务概述与技术实战

Azure AI 人脸服务提供了可检测、识别和分析图像中的人脸的 AI 算法。 人脸识别软件在许多不同情形中都十分重要,例如识别、无接触访问控制和实现隐私的人脸模糊。你可以通过客户端库 SDK,或者直接调用 REST API 使用人脸服务。 目录 一、人脸识别服务场…

Python print()函数高级用法和 len()函数详解:获取字符串长度或字节数

Python print()函数高级用法 我们使用 print() 函数时,都只输出了一个变量,但实际上 print() 函数完全可以同时输出多个变量,而且它具有更多丰富的功能。 print() 函数的详细语法格式如下: print (value,...,sep,end\n,filesys.s…

词嵌入位置编码的实现(基于pytorch)

背景介绍 在transformers架构当中,对于词向量的输入需要加上原本词对应的位置信息,作为输入到模型中训练的input,那具体的位置编码如何实现呢?本篇博客就跟大家一起分享一下对应的步骤 位置编码的公式 对于词向量的位置编码的方…

LaTex引用字体变色

使用下面这条语句进行修改。 ‘citecolor’改变参考文献颜色, ‘linkcolor’改变图标公式引用的颜色, ‘urlcolor’ 文本网站超链接颜色。 \usepackage[colorlinks,bookmarksopen,bookmarksnumbered,citecolorblue, linkcolorblue, urlcolorblue]{hyper…

黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + mybatis plus开发核心技术的真java实战项目——第四部分

黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot mybatis plus开发核心技术的真java实战项目——第四部分 1. 套餐管理1.1 新增套餐1.1.1 添加菜品数据回显 1.2 保存添加套餐1.3 套餐信息分页查询1.4 删除套餐1.5 需要自己单独实现的功能1.5.1 套餐管理的启…

leecode-代码随想录-学习笔记1

编程语言基础课,重新学习 kamacoder.com 基础语法;ACM输入输出通用模板;之前Java狂神说的学习笔记(但是还是按照编程习惯用了C,感觉更底层好写代码)。 正式开始: 下面按照题目-我的解答思路和…

深度解析Nginx负载均衡算法及配置实例

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

每天刷两道题——第十天

1.1和为k的子数组 给你一个整数数组 n u m s nums nums 和一个整数 k k k ,请你统计并返回 该数组中和为 k k k 的子数组的个数 。子数组是数组中元素的连续非空序列。 输入:nums [1,2,3], k 3 输出:2 前缀和 1.2如何使用 前缀和的…

VSCode搭建 .netcore 开发环境

一、MacOS 笔者笔记本电脑上安装的是macOS High Sierra(10.13),想要尝试一下新版本的.netcore,之前系统是10.12时,.netcore 3.1刚出来时安装过3.1版本,很久没更新了,最近.net8出来了,想试一下,…

【回溯算法】n-皇后

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

thinkphp学习02-目录结构、控制器、路由、配置文件

目录结构 www WEB部署目录(或者子目录) ├─app 应用目录 │ ├─controller 控制器目录 │ ├─model 模型目录 │ ├─ ... 更多类库目录 │ │ │ ├─common.php 公共函数文件 │ └─event.ph…