数据结构模拟题[十]
数据结构试卷(十)
一、选择题 (24 分)
1.下列程序段的时间复杂度为( )。
i=0 ,s=0; while (s<n) {s=s+i ;i++ ;}
(A) O(n 1/2 ) (B) O(n 1/3 ) (C) O(n) (D) O(n 2
)
2.设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列( )存储方式最节省运算时
间。
(A) 单向链表 (B) 单向循环链表
(C) 双向链表 (D) 双向循环链表
3.设指针 q 指向单链表中结点 A,指针 p 指向单链表中结点 A 的后继结点 B,指针 s 指向被插入的结点 X,
则在结点 A 和结点 B 插入结点 X的操作序列为( )。
(A) s->next=p->next ;p->next=-s ; (B) q->next=s ; s->next=p ;
(C) p->next=s->next ;s->next=p ; (D) p->next=s ;s->next=q ;
4.设输入序列为 1、2、3、4、 5、6,则通过栈的作用后可以得到的输出序列为( )。
(A) 5 ,3,4,6, 1,2 (B) 3 ,2,5,6,4,1
(C) 3 ,1,2,5, 4,6 (D) 1 ,5,4,6,2,3
5.设有一个 10 阶的下三角矩阵 A(包括对角线) ,按照从上到下、从左到右的顺序存储到连续的 55 个存
储单元中,每个数组元素占 1 个字节的存储空间,则 A[5][4] 地址与 A[0][0] 的地址之差为( )。
(A) 10 (B) 19 (C) 28 (D) 55
6.设一棵 m叉树中有 N1个度数为 1 的结点, N2个度数为 2 的结点, ,, , Nm个度数为 m的结点,则该树
中共有( )个叶子结点。
(A)
m
i
Ni
i
1
)1( (B)
m
i
Ni
1
(C)
m
i
Ni
2
(D)
m
i
Ni
i
2
)1(1
7. 二叉排序树中左子树上所有结点的值均( )根结点的值。
(A) < (B) > (C) = (D) !=
8. 设一组权值集合 W=(15,3,14,2,6,9,16,17) ,要求根据这些权值集合构造一棵哈夫曼树,则这
棵哈夫曼树的带权路径长度为( )。
(A) 129 (B) 219 (C) 189 (D) 229
9. 设有 n 个关键字具有相同的 Hash 函数值,则用线性探测法把这 n 个关键字映射到 HASH表中需要做( )
次线性探测。
(A) n 2
(B) n(n+1) (C) n(n+1)/2 (D) n(n-1)/2
10. 设某棵二叉树中只有度数为 0 和度数为 2 的结点且度数为 0 的结点数为 n,则这棵二叉中共有 ( )个
结点。
(A) 2n (B) n+l (C) 2n-1 (D) 2n+l
11. 设一组初始记录关键字的长度为 8,则最多经过( )趟插入排序可以得到有序序列。
(A) 6 (B) 7 (C) 8 (D) 9
12. 设一组初始记录关键字序列为 (Q,H,C,Y ,P,A,M ,S,R,D,F,X) ,则按字母升序的第一趟冒
泡排序结束后的结果是( )。
(A) F,H,C,D,P, A, M ,Q,R,S,Y,X
(B) P,A,C,S, Q, D, F,X,R,H,M ,Y
(C) A ,D,C,R,F,Q,M ,S,Y,P,H,X
(D) H,C,Q,P,A,M ,S,R,D,F,X,Y
二、填空题 (48 分,其中最后两小题各 6 分)
1. 设需要对 5 个不同的记录关键字进行排序,则至少需要比较 _____________ 次,至多需要比较
_____________次。
2. 快 速 排 序 算 法 的 平 均 时 间 复 杂 度 为 ____________ , 直 接 插 入 排 序 算 法 的 平 均 时 间 复 杂 度 为
___________。
3. 设二叉排序树的高度为 h,则在该树中查找关键字 key 最多需要比较 _________次。
4. 设在长度为 20 的有序表中进行二分查找,则比较一次查找成功的结点数有 _________个,比较两次查
找成功有结点数有 _________个。
5. 设一棵 m叉树脂的结点数为 n,用多重链表表示其存储结构,则该树中有 _________个空指针域。
6. 设指针变量 p 指向单链表中结点 A,则删除结点 A的语句序列为:
q=p->next ;p->data= q->data ;p->next=___________ ;feee(q) ;
7. 数据结构从逻辑上划分为三种基本类型: ___________、__________和___________。
8. 设无向图 G中有 n 个顶点 e 条边,则用邻接矩阵作为图的存储结构进行深度优先或广度优先遍历时的
时间复杂度为 _________;用邻接表作为图的存储结构进行深度优先或广度优先遍历的时间复杂度为
_________。
9. 设散列表的长度为 8,散列函数 H(k)=k % 7,用线性探测法解决冲突,则根据一组初始关键字序列 (8 ,
15,16, 22,30,32) 构造出的散列表的平均查找长度是 ________。
10. 设一组初始关键字序列为 (38 , 65, 97, 76, 13, 27, 10) ,则第 3 趟冒泡排序结束后的结果为
_____________________。
11. 设一组初始关键字序列为 (38 , 65, 97, 76, 13, 27, 10) ,则第 3 趟简单选择排序后的结果为
______________________ 。
12. 设有向图 G中的有向边的集合 E={<1,2>,<2,3>,<1,4>,<4,5>,<5,3>,<4,6>,<6,5>} ,则
该图的一个拓扑序列为 _________________________ 。
13. 下面程序段的功能是建立二叉树的算法,请在下划线处填上正确的内容。
typedef struct node{int data;struct node *lchild;________________;}bitree;
void createbitree(bitree *&bt)
{
scanf(“ %c” ,&ch);
if(ch=='#') ___________;else
{ bt=(bitree*)malloc(sizeof(bitree)); bt->data=ch; ________;createbitree(bt->rchild);}
}
14. 下面程序段的功能是利用从尾部插入的方法建立单链表的算法,请在下划线处填上正确的内容。
typedef struct node {int data; struct node *next;} lklist;
void lklistcreate(_____________ *&head )
{
for (i=1;i<=n;i++)
{
p=(lklist *)malloc( sizeof(lklist));scanf( “->data));p->next=0; %d” ,&(p
if(i==1)head=q=p;else {q->next=p;____________;}
}
}
三、算法设计题 (22 分)
1. 设计在链式存储结构上合并排序的算法。
2. 设计在二叉排序树上查找结点 X的算法。
3. 设关键字序列 (k 1, k2,, , kn-1 ) 是堆,设计算法将关键字序列 (k 1,k 2,, , kn-1,x) 调整为堆。
一、选择题
1.A 2.D 3.B 4.B 5.B 6.D
7.A 8.D 9.D 10.C 11.B 12.D
二、填空题
1. 4,10
2. O(nlog2n),O(n2
)
3. n
4. 1,2
5. n(m-1)+1
6. q->next
7. 线性结构,树型结构,图型结构
8. O(n2
), O(n+e)
9. 8/3
10. (38,13,27,10, 65,76,97)
11. (10,13,27,76, 65,97,38)
12. 124653
13. struct node *rchild ,bt=0,createbitree(bt->lchild)
14. lklist ,q=p
三、算法设计题
1. 设计在链式存储结构上合并排序的算法。
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;
}
2. 设计在二叉排序树上查找结点 X的算法。
bitree *bstsearch1(bitree *t, int key)
{
bitree *p=t;
while(p!=0) if (p->key==key) return(p);else if (p->key>key)p=p->lchild; else p=p->rchild;
return(0);
}
3. 设关键字序列 (k 1, k2,, , kn-1 ) 是堆,设计算法将关键字序列 (k 1,k 2,, , kn-1,x) 调整为堆。
void adjustheap(int r[ ],int n)
{
int j=n,i=j/2,temp=r[j-1];
while (i>=1) if (temp>=r[i-1])break; else{r[j-1]=r[i-1]; j=i; i=i/2;}
r[j-1]=temp;
}
相关文章:
数据结构模拟题[十]
数据结构试卷(十) 一、选择题 (24 分) 1.下列程序段的时间复杂度为( )。 i0 ,s0; while (s<n) {ssi ;i ;} (A) O(n 1/2 ) (B) O(n 1/3 ) (C) O(n) (D) O(n 2 ) …...
Java基于微信小程序的美食推荐系统(附源码,文档)
博主介绍:✌程序猿徐师兄、8年大厂程序员经历。全网粉丝15w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...
基于CNN-RNN的影像报告生成
项目源码获取方式见文章末尾! 600多个深度学习项目资料,快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【PaddleNLP的FAQ问答机器人】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.【CNN模型实现…...
MacOS如何读取磁盘原始的扇区内容,恢复误删除的数据
MacOS 也是把磁盘当成一个文件,也是可以使用 dd来读取,命行令行如下: sudo dd if/dev/disk2 bs512 count1 skip100 ofsector_100.bin 这个就是读取 /dev/disk2这个磁盘每100这个sector, bs表示扇区大小是512. 但是你直接用读,应…...
创客匠人:打造IP陷入迷茫?20位大咖直播如何破局,实现财富增长
就在明天! 11月4日-8日,全球创始人IP领袖峰会线上启动会——《2025年知识IP创新增长训练营*20位各界大咖标杆集体赋能》直播活动,即将重磅来袭! 20位行业大咖5大篇章主题内容的强大组合,将为你逐一精彩呈现ÿ…...
视觉目标检测标注xml格式文件解析可视化 - python 实现
视觉目标检测任务,通常用 labelimage标注,对应的标注文件为xml。 该示例来源于开源项目:https://gitcode.com/DataBall/DataBall-detections-100s/overview 读取 xml 标注文件,并进行可视化示例如下: #-*-coding:ut…...
clion远程配置docker ros2
CLION与docker中的ROS2环境构建远程连接 设备前提开启SSH服务CLION配置CLION配置CLION IDE远程连接过程实现CLION SSH 远程部署 开启fastlio2debug之旅 设备前提 本地宿主机:UBUNTU 20.04 docker container:ros2_container (内置环境ROS2 humble) 通过之前的tcp连接…...
微信小程序 uniapp 腾讯地图的调用
/* 提前在您的app.json上加上这些代码 "permission": { "scope.userLocation": { "desc": "你的位置信息将用于地图中定位" } …...
OLAP平台架构演化历程
OLAP平台架构演化历程 0 导读 随着大数据的持续发展及数字化转型的兴起,大数据OLAP分析需求越来越迫切,不论是大型互联网企业,还是中小型传统企业,都在积极探索及实践OLAP引擎选型及平台架构建设,大数据技术的蓬勃发展…...
OmniGen: Unified Image Generation(代码的复现)
文章目录 论文简介模型的部署需要下载的预训练权重 模型的生成效果图像编辑的效果风格迁移的效果 总结 论文简介 OmniGen的github项目地址 OmniGen: Unified Image Generation。OmniGen 在各种图像生成任务中都表现出了卓越的性能,并可能大大超过现有扩散模型的极…...
keepalive+mysql8双主
1.概述 利用keepalived实现Mysql数据库的高可用,KeepalivedMysql双主来实现MYSQL-HA,我们必须保证两台Mysql数据库的数据完全一致,实现方法是两台Mysql互为主从关系,通过keepalived配置VIP,实现当其中的一台Mysql数据库…...
C#-基础构造函数、析构函数
一:基础的构造函数 实例化对象时 调用的函数,主要是用来初始化成员变量的。 在构造函数时,对象的初始化是自动完成的,为默认值,但为满足一些特殊数据的初始化操作。可不使用系统默认给的构造函数 基本语法ÿ…...
Ubuntu删除docker
文章目录 安装依赖1.安装操作系统:2.CPU支持 安装docker1.查看系统版本2.执行卸载 安装依赖 1.安装操作系统: 高于 Ubuntu 20.04(LTS) 版本 2.CPU支持 ARM和X86_64 安装docker 1.查看系统版本 cat /etc/*releas*uname -a2.执行卸载 检查本地dock…...
系统地介绍Qt的QtConcurrent模块
本文使用了AI生成的内容,请注意甄别! 本文系统地介绍Qt的QtConcurrent模块,它允许开发者无需使用低级线程原语(如互斥锁、读写锁、等待条件或信号量)即可编写多线程程序。下面将由浅入深地逐步介绍这一内容:…...
【进阶sql】复杂sql收集及解析【mysql】
开发时会出现,必须写一些较复杂sql的场景 可能是给会sql的客户 提供一些统计sql 或是临时需要统计数据信息但是 开发一个统计功能有来不及的情况 也可能是报表系统组件 只支持 sql统计的情况 特地记录下这些sql 作为积累 substring 截取查询出的字符串ÿ…...
达梦检查工具dmdbchk的性能
摘要: 本文介绍了dmdbchk的基础使用,例如检查信号量,其性能大约是10GB/分钟,新版本的会更快。 当数据库出问题时,可能会考虑用dmdbchk工具检查数据文件和库内部是否出现异常。对于450G的库会耗时多久? 答&…...
Docker是什么
docker是什么 docker本质docker和虚拟机的区别docker架构Docker Registry镜像仓库分类镜像仓库工作机制docker Hub docker本质 Docker 本质其实是 LXC 之类的增强版,它本身不是容器,而是容器的易用工具。容 器是 linux 内核中的技术,Docker 只…...
Vue进阶指南:Watch 和 Computed 的深度理解
前言 在 Vue.js 开发中,我们常常会用到 watch 和 computed。虽然它们都能用来监听和处理数据的变化,但在使用场景和性能上有显著的区别。本篇文章会通过通俗易懂的方式给你讲解 Vue.js 中 watch 和 computed 的区别和使用方法。 基本概念 Computed&am…...
51c大模型~合集12
我自己的原文哦~ https://blog.51cto.com/whaosoft/11564858 #ProCo 无限contrastive pairs的长尾对比学习 , 个人主页:https://andy-du20.github.io 本文介绍清华大学的一篇关于长尾视觉识别的论文: Probabilistic Contrastive Learning for Long-Tailed Visua…...
大模型 RAG 面试真题大全
最近这一两周不少互联网公司都已经开始秋招提前批面试了。 不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。 最近,我们又陆续整理了很多大厂的面试题,帮助一些球友…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验
Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...
