当前位置: 首页 > news >正文

数据结构模拟题[九]

数据结构试卷(九)

一、选择题 (30 分)

1.下列程序段的时间复杂度为( )。

for(i=0 ; i<m ; i++) for(j=0 ; j<t ; j++) c[i][j]=0 ;

for(i=0 ; i<m ; i++) for(j=0 ; j<t ; j++) for(k=0 ; k<n; k++) c[i][j]=c[i][j]+a[i][k]*b[k][j] ;

(A) O(m*n*t) (B) O(m+n+t) (C) O(m+n*t) (D) O(m*t+n)

2.设顺序线性表中有 n 个数据元素,则删除表中第 i 个元素需要移动( )个元素。

(A) n-i (B) n+l -i (C) n-1-i (D) i

3.设 F 是由 T1、T2 和 T3三棵树组成的森林,与 F 对应的二叉树为 B, T1、T2 和 T3 的结点数分别为 N1、

N2 和 N3,则二叉树 B 的根结点的左子树的结点数为( )。

(A) N1-1 (B) N2-1 (C) N2+N3 (D) N1+N3

4.利用直接插入排序法的思想建立一个有序线性表的时间复杂度为( )。

 (A) O(n) (B) O(nlog 2n) (C) O(n 2

) (D) O(1og 2n)

5.设指针变量 p 指向双向链表中结点 A,指针变量 s 指向被插入的结点 X,则在结点 A的后面插入结点 X

的操作序列为( )。

(A) p->right=s ; s->left=p ; p->right->left=s ; s->right=p->right ;

(B) s->left=p ;s->right=p->right ;p->right=s ; p->right->left=s ;

(C) p->right=s ; p->right->left=s ; s->left=p ; s->right=p->right ;

(D) s->left=p ;s->right=p->right ;p->right->left=s ; p->right=s ;

6.下列各种排序算法中平均时间复杂度为 O(n2

) 是( )。

(A) 快速排序 (B) 堆排序 (C) 归并排序 (D) 冒泡排序

7.设输入序列 1、2、3、, 、 n 经过栈作用后,输出序列中的第一个元素是 n,则输出序列中的第 i 个输

出元素是( )。

(A) n-i (B) n-1-i (C) n+l -i (D) 不能确定

8.设散列表中有 m 个存储单元,散列函数 H(key)= key % p ,则 p 最好选择( )。

(A) 小于等于 m的最大奇数 (B) 小于等于 m的最大素数

(C) 小于等于 m的最大偶数 (D) 小于等于 m的最大合数

9.设在一棵度数为 3 的树中,度数为 3 的结点数有 2 个,度数为 2 的结点数有 1 个,度数为 1 的结点数

有 2 个,那么度数为 0 的结点数有( )个。

(A) 4 (B) 5 (C) 6 (D) 7

10. 设完全无向图中有 n 个顶点,则该完全无向图中有( )条边。

 (A) n(n-1)/2 (B) n(n-1) (C) n(n+1)/2 (D) (n-1)/2

11. 设顺序表的长度为 n,则顺序查找的平均比较次数为( )。

(A) n (B) n/2 (C) (n+1)/2 (D) (n-1)/2

12. 设有序表中的元素为 (13 ,18,24,35, 47,50,62) ,则在其中利用二分法查找值为 24 的元素需要经

过( )次比较。

(A) 1 (B) 2 (C) 3 (D) 4

13. 设顺序线性表的长度为 30,分成 5 块,每块 6 个元素, 如果采用分块查找, 则其平均查找长度为 ( )。

(A) 6 (B) 11 (C) 5 (D) 6.5

14. 设有向无环图 G中的有向边集合 E={<1 ,2>,<2,3>,<3,4>,<1,4>} ,则下列属于该有向图 G的一

种拓扑排序序列的是( )。

(A) 1 ,2,3,4 (B) 2 ,3,4, 1 (C) 1 , 4,2,3 (D) 1 ,2,4,3 

15. 设有一组初始记录关键字序列为 (34, 76,45,18, 26, 54,92) ,则由这组记录关键字生成的二叉排

序树的深度为( )。

(A) 4 (B) 5 (C) 6 (D) 7

二、填空题 (30 分)

1. 设指针 p 指向单链表中结点 A,指针 s 指向被插入的结点 X,则在结点 A的前面插入结点 X时的操作

序列为:

1) s->next=___________ ;2) p->next=s ;3) t=p->data ;

4) p->data=___________ ;5) s->data=t ;

2. 设某棵完全二叉树中有 100 个结点,则该二叉树中有 ______________个叶子结点。

3. 设某顺序循环队列中有 m个元素,且规定队头指针 F 指向队头元素的前一个位置,队尾指针 R 指向

队尾元素的当前位置,则该循环队列中最多存储 _______队列元素。

4. 对一组初始关键字序列( 40, 50,95,20, 15,70,60, 45,10)进行冒泡排序,则第一趟需要进

行相邻记录的比较的次数为 __________,在整个排序过程中最多需要进行 __________趟排序才可以

完成。

5. 在堆排序和快速排序中,如果从平均情况下排序的速度最快的角度来考虑应最好选择 _________排

序,如果从节省存储空间的角度来考虑则最好选择 ________排序。

6. 设一组初始记录关键字序列为 (20 , 12,42,31,18,14,28) ,则根据这些记录关键字构造的二叉

排序树的平均查找长度是 _______________________________ 。

7. 设一棵二叉树的中序遍历序列为 BDCA,后序遍历序列为 DBAC,则这棵二叉树的前序序列为

____________________。

8. 设用于通信的电文仅由 8 个字母组成,字母在电文中出现的频率分别为 7、19、2、6、32、3、21、

10,根据这些频率作为权值构造哈夫曼树,则这棵哈夫曼树的高度为 ________________。

9. 设一组记录关键字序列为 (80 ,70,33,65,24,56,48),则用筛选法建成

的初始堆为 _______________________。

10. 设 无 向 图 G( 如 右 图 所 示 ), 则 其 最 小 生 成 树 上 所 有 边 的 权 值 之 和 为

_________________。

三、判断题 (20 分)

1. 有向图的邻接表和逆邻接表中表结点的个数不一定相等。 ( )

2. 对链表进行插入和删除操作时不必移动链表中结点。 ( )

3. 子串“ ABC”在主串“ AABCABCD”中的位置为 2。( )

4. 若一个叶子结点是某二叉树的中序遍历序列的最后一个结点,则它必是该二叉树的先序遍历序列中的

最后一个结点。 ( )

5. 希尔排序算法的时间复杂度为 O(n2

) 。( )

6. 用邻接矩阵作为图的存储结构时,则其所占用的存储空间与图中顶点数无关而与图中边数有关。 ( )

7. 中序遍历一棵二叉排序树可以得到一个有序的序列。 ( )

8. 入栈操作和入队列操作在链式存储结构上实现时不需要考虑栈溢出的情况。 ( )

9. 顺序表查找指的是在顺序存储结构上进行查找。 ( )

10.堆是完全二叉树,完全二叉树不一定是堆。 ( )

五、算法设计题 (20 分)

1. 设计计算二叉树中所有结点值之和的算法。

2. 设计将所有奇数移到所有偶数之前的算法。

3. 设计判断单链表中元素是否是递增的算法。

一、选择题

1.A 2.A 3.A 4.C 5.D

6.D 7.C 8.B 9.C 10.A

11.C 12. C 13.D 14.A 15.A

二、填空题

1. p->next ,s->data

2. 50

3. m-1

4. 6,8

5. 快速,堆

6. 19/7

7. CBDA

8. 6

9. (24,65,33,80, 70,56,48)

10. 8

三、判断题

1.错 2.对 3.对 4.对 5.错

6.错 7.对 8.对 9.错 10.对

四、算法设计题

1. 设计计算二叉树中所有结点值之和的算法。

void sum(bitree *bt,int &s)

{

if(bt!=0) {s=s+bt->data; sum(bt->lchild,s); sum(bt->rchild,s);}

}

2. 设计将所有奇数移到所有偶数之前的算法。

void quickpass(int r[], int s, int t)

{

int i=s,j=t,x=r[s];

while(i<j)

{

while (i<j && r[j]%2==0) j=j-1; if (i<j) {r[i]=r[j];i=i+1;}

while (i<j && r[i]%2==1) i=i+1; if (i<j) {r[j]=r[i];j=j-1;}

}

r[i]=x;

}

3. 设计判断单链表中元素是否是递增的算法。

int isriselk(lklist *head)

{

if(head==0||head->next==0) return(1);else

for(q=head,p=head->next; p!=0; q=p,p=p->next)if(q->data>p->data) return(0);

return(1);

相关文章:

数据结构模拟题[九]

数据结构试卷&#xff08;九&#xff09; 一、选择题 (30 分) 1&#xff0e;下列程序段的时间复杂度为&#xff08; &#xff09;。 for(i0 &#xff1b; i<m &#xff1b; i) for(j0 &#xff1b; j<t &#xff1b; j) c[i][j]0 &#xff1b; for(i0 &#xff1b; i…...

2024年10月国产数据库大事记-墨天轮

本文为墨天轮社区整理的2024年10月国产数据库大事件和重要产品发布消息。 目录 2024年10月国产数据库大事记 TOP102024年10月国产数据库大事记&#xff08;时间线&#xff09;产品/版本发布代表厂商大事记信创数据库上市公司2024年Q3财报 达梦数据&#xff1a;2024年前三季度…...

Andon 业务流程业务开发陷阱----从真实用户与管理者视角逻辑差异

Q : Andon 问题识别归类(就是问题的3层细化)&#xff0c;是在事中&#xff0c;还是在事后? A : 不存在事中就细化归类&#xff0c;有悖于生产问题解决流程。 从操作员的角度来看&#xff0c;他们在事中可能只能识别出存在质量问题&#xff0c;但无法进行具体的质量问题编号…...

Python闭包|你应该知道的常见用例(上)

引言 在 Python 编程语言中&#xff0c;闭包通常指的是一个嵌套函数&#xff0c;即在一个函数内部定义的另一个函数。这个嵌套的函数能够访问并保留其外部函数作用域中的变量。这种结构就构成了一个闭包。 闭包在函数式编程语言中非常普遍。在 Python 中&#xff0c;闭包特别有…...

printf影响单片机中断速度

printf是我们常用的调试程序的手段&#xff0c;在第一版程序中&#xff0c;经常会使用printf来验证程序是否工作正确。这样的调试手段应该在正式版的程序发布前注释掉或者删除。而且不当地使用printf也会带来某些功能性问题&#xff0c;例如&#xff0c;在某项目中&#xff0c;…...

JavaScript 23种经典设计模式简介

23种JavaScript经典设计模式 JavaScript经典设计模式 通过之前的学习&#xff0c;我们知道设计模式是一种解决代码组织、代码复用和代码可维护性等问题的技术方法。它通过将代码以特定的方式组织起来&#xff0c;使代码结构更加清晰、可读性更高、易于维护和扩展。为了在开发…...

位运算相关算法

一、异或运算介绍 1、性质介绍 异或运算&#xff08;XOR&#xff0c;Exclusive OR&#xff09;是一种位运算符。对于两个位进行异或操作&#xff0c;当且仅当这两个位不同时&#xff0c;结果为 1&#xff1b;如果相同&#xff0c;则结果为 0。 A B A^B00001 1 101110 任何数…...

解决:无法在此设备上激活Windows因为无法连接到你的组织的激活服务器

问题&#xff1a; 桌面右下角会出现这个东西&#x1f447; 在设置里查看激活状态就会看到&#x1f447; 解决方法 &#xff1a; 1.打开CMD 搜索CMD&#xff0c;然后以管理员身份运行 2.设置 KMS服务器 1&#xff09;命令行输入&#xff1a; slmgr /skms kms.03k.org 然后…...

【Spring】——SpringBoot项目创建

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 引入 一&#xff1a;介绍 二&#xff1a;Spring Boot项目创建 0&#xff1a;项目目录 1&#xff1a…...

聊一聊:ChatGPT搜索引擎会取代谷歌和百度吗?

当地时间 10 月 31 日&#xff0c;OpenAI 正式推出了 ChatGPT 搜索功能&#xff0c;能实时、快速获取附带相关网页来源链接的答案。这一重大升级标志着其正式向谷歌的搜索引擎霸主地位发起挑战。 本周五我们聊一聊&#xff1a; 欢迎在评论区畅所欲言&#xff0c;分享你的观点~ …...

分布式中常见的问题及其解决办法

分布式中常见的问题及其解决办法 一、多个微服务要操作同一个存储在redis中的变量&#xff0c;如何确保这个变量的正确性 答&#xff1a; 在多个微服务操作同一个存储在Redis中的变量时&#xff0c;可以采取以下措施来确保变量的正确性&#xff1a; 1、使用Redis的事务&…...

HTML 基础标签——多媒体标签<img>、<object> 与 <embed>

文章目录 1. `<img>` 标签主要属性示例注意事项2. `<object>` 标签概述主要属性示例注意事项3. `<embed>` 标签概述主要属性示例注意事项小结在现代网页设计中,多媒体内容的使用变得越来越重要,因为它能够有效增强用户体验、吸引注意力并传达信息。HTML 提…...

word mathml 创建粗体字母快捷键

在 mathml 中达到latex中 \mathbf{A} 的效果 由于word本身不支持这个命令&#xff0c;所以打算用快捷键实现 快捷键的功能是加粗光标前一个字目 1. Alt F8 打开宏&#xff0c;如果打不开可以尝试 Alt Fn F8 2. 输入 BoldPreviousCharacter 新建宏&#xff1a; Sub Bold…...

ROOT添加用户提示权限不够

有个系统已经上线过了&#xff0c;之后测评整改要求不能用root启动中间件&#xff0c;我就想着添加一个普通用户&#xff0c;赋予指定目录权限&#xff0c;然后启动应用就行了 。 结果用root用户创建账号提示权限不够&#xff0c;确认了几遍&#xff0c;是root 命令前面加sud…...

关于使用svgIcon 菜单折叠 显示文字情况

使用的工具&#xff1a;vue2&#xff0c;ant design vue 问题&#xff1a; **解决&#xff1a;在<svg-icon> 外面包一层 <a-icon> ** 使用: 在 main.js 中&#xff1a;...

Python使用PDF相关组件案例详解

主要对pdfminer.six、pdfplumber、PyMuPDF、PyPDF2、PyPDF4、pdf2image、camelot-py七个PDF相关组件分别详解&#xff0c;具体使用案例演示 1. pdfminer.six pdfminer.six 是一个专门用来从 PDF 中提取文本的库&#xff0c;能够处理复杂的文本布局&#xff0c;适合用于文本解析…...

day53 图论章节刷题Part05(并查集理论基础、寻找存在的路径)

并查集理论基础 基础内容 并查集常用来解决连通性问题&#xff0c;主要有两个功能&#xff1a; 将两个元素添加到一个集合中判断两个元素在不在同一个集合 将三个元素A&#xff0c;B&#xff0c;C &#xff08;分别是数字&#xff09;放在同一个集合&#xff0c;其实就是将…...

鸿蒙next选择 Flutter 开发跨平台应用的原因

在移动操作系统的竞争中&#xff0c;鸿蒙&#xff08;HarmonyOS&#xff09;自从发布以来便吸引了广泛的关注。作为华为主导的操作系统&#xff0c;鸿蒙的设计初衷是打破平台壁垒&#xff0c;实现设备间的无缝连接与应用共享。然而&#xff0c;要实现这一目标&#xff0c;仅仅依…...

shodan6-7---清风

shodan6-7 1.shodan网页版 以cve-2019-0708漏洞指纹特征为例 "\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"在这里插入图片描述 搜索命令参考 https://www.shodan.io/search/filters这个网页中有搜索关键词 对指定网址进行监控&#xff0c;这里可以对ip进行扫描&…...

FTP、ISCSI、CHRONY、DNS、NFS、DOCKER、MARIADB、NGINX、PHP、CA各服务开启方法

2.1 FTP 服务 (vsftpd) 安装 vsftpd&#xff1a; sudo yum install vsftpd -y 启动并设置开机自启&#xff1a; sudo systemctl start vsftpdsudo systemctl enable vsftpd 配置文件位于 /etc/vsftpd/vsftpd.conf&#xff0c;可根据需要修改配置。 2.2 SCSI 服务 SCSI 配…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统&#xff0c;它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间&#xff0c;使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的&#xff0c;要在 …...