数据结构模拟题[九]

news2024/11/8 1:14:58

数据结构试卷(九)

一、选择题 (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);

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

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

相关文章

Python练习10

Python日常练习 题目&#xff1a; 编写程序&#xff0c;输出如下所示图案。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 要求&#xff1a; 使用for循环的方式完成 --------------------------------------------------------- 注意&#xff1a; …

【DM系列】DM 集成 JDBC 开发指南

前言 数据库访问是数据库应用系统中非常重要的组成部分&#xff0c;DM 作为一个通用数据库管理系统&#xff0c;提供了多种数据库访问接口&#xff0c;包括 ODBC、JDBC、DPI 等方式。本开发指南详细介绍了 DM 的各种访问接口、相应开发环境的配置、以及一些开发用例。本指南的主…

长亭那个检测能力超强的 WAF,出免费版啦

告诉你们一个震撼人心的消息&#xff0c;那个检测能力超强的 WAF——长亭雷池&#xff0c;他推出免费社区版啦&#xff0c;体验地址见文末。 八年前我刚从学校毕业&#xff0c;在腾讯做安全研究&#xff0c;看到宇森在 BlackHat 上演讲的议题 《永别了&#xff0c;SQL 注入》 …

Excel 无法打开文件

Excel 无法打开文件 ‘新建 Microsoft Excel 工作表.xlsx",因为 文件格式或文件扩展名无效。请确定文件未损坏&#xff0c;并且文件扩展名与文件的格式匹配。

软件测试学习笔记丨SeleniumPO模式

本文转自测试人社区&#xff0c;原文链接&#xff1a;https://ceshiren.com/t/topic/22525 本文为霍格沃兹测试开发学社的学习经历分享&#xff0c;写出来分享给大家&#xff0c;希望有志同道合的小伙伴可以一起交流技术&#xff0c;一起进步~ 说明&#xff1a;本篇博客基于sel…

Nginx配置SSL证书(自签名证书)

1 生成自签名证书(生成证书方式一) # 生成私钥:server.key [rootlocalhost ~]# openssl genrsa -out server.key 2048# 生成证书请求文件:server.csr [rootlocalhost cert]# openssl req -new -key server.key -out server.csr Country Name (2 letter code) [XX]:cn 《这里…

汽车固态电池深度报告

固态电池符合未来大容量二次电池发展方向&#xff0c;半固态电池已装车&#xff0c;高端长续航车型、e-VTOL 等方向对固态电池需求明确。固态电池理论上具备更高的能量密度、更好的热稳定性、更长的循环寿命等优点&#xff0c;是未来大容量二次电池发展方向。根据中国汽车动力…

Linux网络命令:用于查看和修改路由表的重要工具ip route 详解

目录 一、概述 二、用法 1、基本语法 2、参数说明 3、常用选项 4、获取帮助 三、基本用法示例 1、 查看路由表 2、 添加路由 3、 删除路由 4、 修改路由 5、 添加默认路由 6、 删除默认路由 四、路由表管理 1、查看所有路由表 2、指定路由表 五、其他选项 1、…

02- 模块化编程-007 Ltc1684( ADC16-Bit)采样显示

1、Ltc1684芯片介绍 该芯片是一款高精度的16位模数转换器(ADC)&#xff0c;适合于高精度仪器的开发&#xff0c;它能提供精准的模拟信号到数字信号的转换。 特性 采用 MSOP 封装的 16 位、250ksps ADC 单 5V 电源 低电源电流&#xff1a;850μA (典型值) 自动停机功能可把电源…

Chrome与火狐哪个浏览器的移动版本更流畅

在当今的数字化时代&#xff0c;移动设备已经成为我们生活中不可或缺的一部分。而浏览器作为我们访问互联网的重要工具&#xff0c;其性能和用户体验直接影响到我们的使用感受。本文将对比Chrome和火狐&#xff08;Firefox&#xff09;两款主流浏览器的移动版本&#xff0c;探讨…

人工智能学习--归一化(Normalization)

概念 归一化是数据预处理中将不同量纲的特征数据缩放至同一尺度的过程&#xff0c;使特征值落在同一范围&#xff08;如[0, 1]或[-1, 1]&#xff09;。归一化有助于消除量纲影响&#xff0c;提升算法的收敛速度和模型稳定性&#xff0c;尤其在梯度下降和距离计算等算法中尤为重…

xrc的比赛

先看考试题&#xff0c;附加题最后再写 T1 首先看到是求逆序对为奇数的子串&#xff0c;发现只需要贪心 贪心发现求长度为2的逆序对最优&#xff0c;所以时间复杂度为 O ( n ) O(n) O(n)的贪心就能过了 #include<bits/stdc.h> using namespace std; int read() {int x…

基于SSM的社区物业管理系统+LW参考示例

1.项目介绍 系统角色&#xff1a;管理员、业主&#xff08;普通用户&#xff09;功能模块&#xff1a;管理员&#xff08;用户管理、二手置换管理、报修管理、缴费管理、公告管理&#xff09;、普通用户&#xff08;登录注册、二手置换、生活缴费、信息采集、报事报修&#xf…

Json 类型与多值索引 — OceanBase 4.3.2 AP 功能体验

本文来自 2024年OceanBase技术征文大赛——“让技术被看见 | OceanBase 布道师计划”的用户征文。也欢迎更多的技术爱好者参与征文&#xff0c;赢取万元大奖。和我们一起&#xff0c;用文字让代码跳动起来&#xff01; 参与2024年OceanBase技术征文大赛>> MySQL在5.7.8…

微信小程序 高校教材征订系统

文章目录 项目介绍具体实现截图技术介绍mvc设计模式小程序框架以及目录结构介绍错误处理和异常处理java类核心代码部分展示详细视频演示源码获取 项目介绍 系统分为三个角色&#xff0c;分别是教材科、系教学秘书、教研室主任。系统主要完成功能是教材科要发布教材征订信息&am…

YOLOv11融合IncepitonNeXt[CVPR2024]及相关改进思路

YOLOv11v10v8使用教程&#xff1a; YOLOv11入门到入土使用教程 一、 模块介绍 论文链接&#xff1a;https://arxiv.org/abs/2303.16900 代码链接&#xff1a;https://github.com/sail-sg/inceptionnext 论文速览&#xff1a;受 ViT 长距离建模能力的启发&#xff0c;大核卷积…

汽车免拆诊断案例 | 2017款凯迪拉克XT5车组合仪表上的指针均失灵

故障现象 一辆2017款凯迪拉克XT5车&#xff0c;搭载LTG 发动机&#xff0c;累计行驶里程约为17.2万km。车主反映&#xff0c;组合仪表上的发动机转速表、车速表、燃油表及发动机冷却液温度表的指针均不指示&#xff0c;但发动机起动及运转正常&#xff0c;且车辆行驶正常。 故…

MySQL数据库单表查询习题

目录 数据内容介绍习题题目答案 数据内容介绍 数据库中有两个表 ​​​​ 内容如下&#xff1a; 习题 题目 查询出部门编号为D2019060011的所有员工所有财务总监的姓名、编号和部门编号。找出奖金高于工资的员工。找出奖金高于工资40%的员工。找出部门编号为D2019090011中所有…

「Mac畅玩鸿蒙与硬件25」UI互动应用篇2 - 计时器应用实现

本篇将带领你实现一个实用的计时器应用&#xff0c;用户可以启动、暂停或重置计时器。该项目将涉及时间控制、状态管理以及按钮交互&#xff0c;是掌握鸿蒙应用开发的重要步骤。 关键词 UI互动应用时间控制状态管理用户交互 一、功能说明 在这个计时器应用中&#xff0c;用户…

Java高效学习家教平台系统小程序源码

&#x1f4da; 家教平台系统&#xff1a;让孩子学习更高效的秘密武器 &#x1f680; &#x1f469;‍&#x1f3eb; 引言&#xff1a;家教新风尚&#xff0c;线上平台引领教育潮流 在这个信息爆炸的时代&#xff0c;家教平台系统如同雨后春笋般涌现&#xff0c;为孩子们的学习…