数据结构模拟题[五]
数据结构试卷(五)
一、选择题 (20 分)
1.数据的最小单位是( )。
(A) 数据项 (B) 数据类型 (C) 数据元素 (D) 数据变量
2.设一组初始记录关键字序列为 (50 ,40, 95,20,15,70,60,45) ,则以增量 d=4 的一趟希尔排序结
束后前 4 条记录关键字为( )。
(A) 40 ,50,20,95 (B) 15 ,40,60, 20
(C) 15 ,20,40,45 (D) 45 ,40,15, 20
3.设一组初始记录关键字序列为 (25,50,15, 35,80,85,20,40,36,70),其中含有 5 个长度为 2 的
有序子表,则用归并排序的方法对该记录关键字序列进行一趟归并后的结果为( )。
(A) 15 , 25,35,50, 20,40,80,85,36,70
(B) 15 ,25,35,50,80,20,85,40, 70,36
(C) 15,25,35,50,80,85,20,36, 40,70
(D) 15, 25,35,50, 80,20,36,40,70,85
4.函数 substr( “DATASTRUCTURE”, 5,9) 的返回值为( )。
(A) “STRUCTURE” (B) “DATA”
(C) “ASTRUCTUR” (D) “DATASTRUCTURE”
5.设一个有序的单链表中有 n 个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的
时间复杂度为( )。
(A) O(log 2n) (B) O(1) (C) O(n 2
) (D) O(n)
6.设一棵 m叉树中度数为 0 的结点数为 N0,度数为 1 的结点数为 Nl ,,, ,度数为 m的结点数为 Nm,则
N0=( )。
(A) N l +N2+,, +Nm (B) l+N 2+2N3+3N4+,, +(m-1)Nm
(C) N 2+2N3+3N4+,, +(m-1)Nm (D) 2N l +3N2+,, +(m+1)Nm
7.设有序表中有 1000 个元素,则用二分查找查找元素 X最多需要比较( )次。
(A) 25 (B) 10 (C) 7 (D) 1
8.设连通图 G 中的边集 E={(a ,b),(a,e),(a,c),(b, e), (e, d),(d,f) ,(f, c)},则从顶点 a 出发可
以得到一种深度优先遍历的顶点序列为( )。
(A) abedfc (B) acfebd (C) aebdfc (D) aedfcb
9.设输入序列是 1、 2、3、,, 、 n,经过栈的作用后输出序列的第一个元素是 n,则输出序列中第 i 个
输出元素是( )。
(A) n-i (B) n-1-i (C) n+1-i (D) 不能确定
10 设一组初始记录关键字序列为 (45 ,80,55,40,42,85) ,则以第一个记录关键字 45 为基准而得到一
趟快速排序的结果是( )。
(A) 40 ,42,45,55,80,83 (B) 42 ,40,45, 80,85,88
(C) 42 ,40,45,55,80,85 (D) 42 ,40,45, 85,55,80
二、填空题 ( 共 20 分)
1. 设有一个顺序共享栈 S[0: n-1] ,其中第一个栈项指针 top1 的初值为 -1 ,第二个栈顶指针 top2 的初
值为 n,则判断共享栈满的条件是 ____________________。
2. 在图的邻接表中用顺序存储结构存储表头结点的优点是 ____________________。
3. 设有一个 n 阶的下三角矩阵 A,如果按照行的顺序将下三角矩阵中的元素(包括对角线上元素)存放
在 n(n+1) 个连续的存储单元中,则 A[i][j] 与 A[0][0] 之间有 _______个数据元素。
4. 栈的插入和删除只能在栈的栈顶进行,后进栈的元素必定先出栈,所以又把栈称为 __________表;队
列的插入和删除运算分别在队列的两端进行,先进队列的元素必定先出队列,所以又把队列称为
_________表。
5. 设一棵完全二叉树的顺序存储结构中存储数据元素为 ABCDEF,则该二叉树的前序遍历序列为
___________,中序遍历序列为 ___________,后序遍历序列为 ___________。
6. 设一棵完全二叉树有 128 个结点,则该完全二叉树的深度为 ________,有 __________个叶子结点。
7. 设有向图 G的存储结构用邻接矩阵 A 来表示,则 A 中第 i 行中所有非零元素个数之和等于顶点 i 的
________,第 i 列中所有非零元素个数之和等于顶点 i 的__________。
8. 设一组初始记录关键字序列 (k 1,k 2,,, , k n) 是堆,则对 i=1 ,2,, , n/2 而言满足的条件为
_______________________________ 。
9. 下面程序段的功能是实现冒泡排序算法,请在下划线处填上正确的语句。
void bubble(int r[n])
{
for(i=1;i<=n-1; i++)
{
for(exchange=0,j=0; j<_____________;j++)
if (r[j]>r[j+1]){temp=r[j+1];______________;r[j]=temp;exchange=1;}
if (exchange==0) return ;
}
}
10. 下面程序段的功能是实现二分查找算法,请在下划线处填上正确的语句。
struct record{int key; int others;};
int bisearch(struct record r[ ], int k)
{
int low=0,mid,high=n-1;
while(low<=high)
{
________________________________;
if(r[mid].key==k) return(mid+1); else if(____________) high=mid-1;else low=mid+1;
}
return(0);
}
三、应用题 (32 分)
1. 设某棵二叉树的中序遍历序列为 DBEAC,前序遍历序列为 ABDEC,要求给出该二
叉树的的后序遍历序列。
2. 设无向图 G(如右图所示) ,给出该图的最小生成树上边的集合并计算最小生成
树各边上的权值之和。
3. 设一组初始记录关键字序列为 (15 ,17,18,22,35,51,60),要求计算出成功
查找时的平均查找长度。
4. 设散列表的长度为 8,散列函数 H(k)=k mod 7,初始记录关键字序列为 (25 ,31,8,27,13,68) ,要
求分别计算出用线性探测法和链地址法作为解决冲突方法的平均查找长度。
四、算法设计题 (28 分)
1. 设计判断两个二叉树是否相同的算法。
2. 设计两个有序单链表的合并排序算法。
一、选择题
1.A 2.B 3.A 4.A 5.D
6.B 7.B 8.B 9.C 10. C
二、填空题
1. top1+1=top2
2. 可以随机访问到任一个顶点的简单链表
3. i(i+1)/2+j-1
4. FILO ,FIFO
5. ABDECF ,DBEAFC ,DEBFCA
6. 8,64
7. 出度,入度
8. ki<=k 2i && k i<=k 2i+1
9. n-i,r[j+1]=r[j]
10. mid=(low+high)/2 ,r[mid].key>k
三、应用题
1. DEBCA
2. E={(1,5),(5,2),(5,3),(3,4)},W=10
3. ASL=(1*1+2*2+3*4)/7=17/7
4. ASL1=7/6 ,ASL2=4/3
四、算法设计题
1. 设计判断两个二叉树是否相同的算法。
typedef struct node {datatype data; struct node *lchild,*rchild;} bitree;
int judgebitree(bitree *bt1,bitree *bt2)
{
if (bt1==0 && bt2==0) return(1);
else if (bt1==0 || bt2==0 ||bt1->data!=bt2->data) return(0);
else return(judgebitree(bt1->lchild,bt2->lchild)*judgebitree(bt1->rchild,bt2->rchild));
}
2. 设计两个有序单链表的合并排序算法。
void mergelklist(lklist *ha,lklist *hb,lklist *&hc)
{
lklist *s=hc=0;
while(ha!=0 && hb!=0)
if(ha->data<hb->data){if(s==0) hc=s=ha; else {s->next=ha; s=ha;};ha=ha->next;}
else {if(s==0) hc=s=hb; else {s->next=hb; s=hb;};hb=hb->next;}
if(ha==0) s->next=hb; else s->next=ha;
}
相关文章:
数据结构模拟题[五]
数据结构试卷(五) 一、选择题 (20 分) 1.数据的最小单位是( )。 (A) 数据项 (B) 数据类型 (C) 数据元素 (D) 数据变量 2.设一组初始记录关键字序列为 (50 ,40, 95,20…...
IDEA切换窗口快捷键失效
问题描述: 在idea中,如果切换窗口的快捷键(Alt Tab)失效了,可以通过清除缓存的方式修复...
QT中使用图表之QChart绘制X轴为日期时间轴的折线图
显然X轴是日期时间轴的话,那么我们使用的轴类就得是QDateTimeAxis QChart中日期时间轴的精度是毫秒 因此图表里面的数据的x值需要是一个毫秒数,才能显示出来 --------------------------------------------------------------------------------------…...
【传知代码】短期电力负荷(论文复现)
🍑个人主页:Jupiter. 🚀 所属专栏:传知代码 欢迎大家点赞收藏评论😊 目录 备注前言介绍问题背景复现:一. 多维特征提取的提取框架:二. 论文中进行性能测试的MultiTag2Vec-STLF模型:三…...
ubuntu20.04 加固方案-设置重复登录失败后锁定时间限制
一、编辑PAM配置文件 打开终端。 使用文本编辑器(如vim)编辑/etc/pam.d/common-auth文件。 sudo vim /etc/pam.d/common-auth 二、添加配置参数 在打开的配置文件中,添加或修改以下参数: auth required pam_tally2.so deny5 un…...
【综合算法学习】(第十三篇)
目录 解数独(hard) 题目解析 讲解算法原理 编写代码 单词搜索(medium) 题目解析 解析算法原理 编写代码 解数独(hard) 题目解析 1.题目链接:. - 力扣(LeetCode)…...
Web3 Key Talking #4|Sui有何不同?及其发展路线图
活动时间: 2024 年 10 月 31 日(周四)20:00–21:00(UTC8) 会议链接: 腾讯会议 会议 ID :429–339–777 主持:Sanzhisanzhichazi1 嘉宾:uvdwangtxxl,Sui …...
Axios 请求超时设置无效的问题及解决方案
文章目录 Axios 请求超时设置无效的问题及解决方案1. 引言2. 理解 Axios 的超时机制2.1 Axios 超时的工作原理2.2 超时错误的处理 3. Axios 请求超时设置无效的常见原因3.1 配置错误或遗漏3.2 超时发生在建立连接之前3.3 使用了不支持的传输协议3.4 代理服务器或中间件干扰3.5 …...
数据结构+算法
一、数据结构 1、线性结构 数组: 访问:O(1)访问特定位置的元素;插入:O(n)最坏的情况发生在插入发生在数组的首部并需要移动所有元素时;删除:O(n)最坏的情况发生在删除数组的开头发生并需要移动第一元素后…...
利用ExcelJS封装一个excel表格的导出
ExcelJS 操作和写入Excel 文件。 直接上代码,js部分: exportFn.js import ExcelJS from exceljs; import { saveAs } from file-saver;export function exportExcleUtils(tHeader, filterVal, listData, fileName) {//设置工作簿属性const workbook ne…...
AI 原生时代,更要上云:百度智能云云原生创新实践
本文整理自百度云智峰会 2024 —— 云原生论坛的同名演讲。 我今天分享的主题,是谈谈在云计算和 AI 技术快速发展和深入落地的背景下,百度智能云在云原生的基础设施产品和技术层面做的一些创新实践。 毋庸置疑,过去十几年云计算和 AI 技术是…...
C语言程序编译运行
程序功能:使用 printf() 输出 “Hello, World!”。 C语言源程序: #include <stdio.h> int main() {// printf() 中字符串需要引号printf("Hello, World!");return 0; }编译过程: vim hello.c gcc hello.c -o hello ./hell…...
视频点播系统扩展示例
更多的前端页面(如视频详情页、用户注册页等)。更复杂的业务逻辑(如视频评论、搜索功能等)。安全性和权限管理(如用户角色管理、权限控制等)。其他技术细节(如文件上传、分页查询等)…...
echo $? —— Linux 中的退出状态码详解
在 Linux 系统中,echo $? 是一个非常重要的命令,用于显示上一条命令的退出状态码。这个小小的符号组合可以帮助我们判断命令是否成功执行,同时也为编写自动化脚本提供了基础支持。本文将详细介绍 echo $? 的用法及其在实际开发中的应用。 …...
heic格式转化jpg最简单方法?快来学习这几种简单的转换方法!
heic格式转化jpg最简单方法?在当今的数字图像处理领域,HEIC格式以其卓越的压缩效率和高质量图像表现,正逐渐崭露头角并受到业界的深切关注,HEIC格式凭借先进的压缩技术,成功地在保持图像清晰度的同时,大幅度…...
力扣(leetcode)每日一题 3259 超级饮料的最大强化能量|动态规划
3259. 超级饮料的最大强化能量 题干 来自未来的体育科学家给你两个整数数组 energyDrinkA 和 energyDrinkB,数组长度都等于 n。这两个数组分别代表 A、B 两种不同能量饮料每小时所能提供的强化能量。 你需要每小时饮用一种能量饮料来 最大化 你的总强化能量。然而…...
Webserver(2.7)内存映射
目录 内存映射内存映射相关系统调用内存映射的注意事项如果对mmap的返回值(ptr)做操作,释放内存(munmap)是否能够成功?如果open时O_RDONLY,mmap时prot参数指定PROT_READ | PROT_WRITE会怎样?如果文件偏移量…...
vue3父子组件传值,子组件暴漏方法
1.父传子 defineProps 父组件直接通过属性绑定的方式给子组件绑定数据,子组件通过defineProps接收函数接收 其中v-model是完成事件绑定和事件监听的语法糖。v-model算是v-bind和v-on的简洁写法,等价于 <c-input ref"inputRef" :modelValue…...
Linux_04 Linux常用命令——tar
一、命令格式 tar [选项] [归档文件] [要处理的文件或目录]1、选项 c创建归档文件x解压缩归档文件z使用gzipj使用bzip2v处理过程显示信息f指定归档文件名称 2、归档文件-可指定目录及文件名 /home/wang.tar.gz 3、要处理的文件或目录 /home/study1/wang 二、常见命令 t…...
Java项目实战II基于Java+Spring Boot+MySQL的编程训练系统(源码+数据库+文档)
目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在当今数字…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
