数据结构与算法分析模拟试题及答案5
模拟试题(五)
一、单项选择题(每小题 2 分,共20分)
(1)队列的特点是( )。
A)先进后出 B)先进先出
C)任意位置进出 D)前面都不正确
(2)有n个记录的文件,如关键字位数为d,基数为r,则基数排序共要进行( )遍分配与收集。
A)n B)d C)r D)n - d
(3)在二叉树结点的先序序列、中序序列和后序序列中,所有叶子结点的先后顺序( )。
A)都不相同 B)完全相同
C)先序和中序相同,而与后序不同 D)中序和后序相同,而与先序不同
(4)限定在一端加入和删除元素的线性表称为( )。
A)双向链表 B)单向链表 C)栈 D)队列
(5)若数据元素序列11,12,13,7,8,9,23,4,5是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是( )。
A)起泡排序 B)插入排序 C)选择排序 D)二路归并排序
(6)设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树上的结点个数为n,森林F中第一棵树的结点个数是( )。
A)m-n-1 B)n+1 C)m-n+1 D)m-n
(7)对于具有n个顶点的强连有向图,其弧条数的最小值为( )。
A)n+1 B)n C)n-1 D)n-2
(8)下面关于广义表的叙述中,不正确的是( )。
A)广义表可以是一个多层次的结构 B)广义表至少有一个元素
C)广义表可以被其他广义表所共享 D)广义表可以是一个递归表
(9)设二叉树根结点的层次为0,一棵深度(高度)为k的满二叉树和同样深度完全二叉树各有f个结点和c个结点,下列关系式不正确的是( )。
A)f>=c B)c>f C)f=2k+1-1 D)c>2k-1
(10)设一棵二叉树中没有度为1的结点,已知叶子结点数为n,此树的结点数为( )。
A)2n+2 B)2n+1 C)2n D)2n-1
二、(每小题4分,共8分)
写出下列中缀表达式的后缀形式:
(1)3X/(Y-2)+1
(2)2+X*(Y+3)
三、(每小题4分,共8分)
试对如下图中的二叉树画出其:

(1)顺序存储表示;
(2)二叉链表存储表示的示意图。
四、(每小题4分,共8分)
判断以下序列是否是小根堆? 如果不是,将它调整为小根堆。
(1){ 12, 70, 33, 65, 24, 56, 48, 92, 86, 33 }
(2){ 05, 23, 20, 28, 40, 38, 29, 61, 35, 76, 47, 100 }
五、(本题8分)
已知一个图的顶点集V和边集E分别为:
V={1,2,3,4,5,6,7};
E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15,(3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25};
按照普里姆算法从顶点1出发得到最小生成树,试写出在最小生成树中依次得到的各条边。
六、(每小题2分,共8分)
设有12个数据25,40,33,47,12,66,72,87,94,22,5,58,它们存储在散列表中,利用线性探测再散列处理冲突,取散列函数为H(key)=key % 13。
(1)顺次将各个数据散列到表中,并同时列出各元素的比较次数。
(2)计算查找成功的平均查找次数。
七、(第1小题2分,第2、3小题每小题3分,本题8分)
对于如下图所示的图G,邻接点按从小到大的次序。

(1)图G有几个连通分量?
(2)按深度优先搜索所得的树是什么?
(3)按深度优先搜索所得的顶点序列是什么?
八、(本题8分)
已知一棵树边为:
{<I,M>,<I,N>,<E,I>,<B,E>,<B,D>,<C,B>,<G,L>,<G,K>,<A,G>,<A,F>,<A,H>,<C,A>}
试画出这棵树,并回答下列问题:
(1)哪个是根结点?
(2)哪些是叶子结点?
(3)树的深度是多少?
九、(本题9分)
给出一组关键字T=(12,2,16,30,8,28,4,10,20,6,18)。写出用下列算法从小到大排序时第一趟结束时的序列。
(1)希尔排序(第一趟排序的增量为5)
(2)快速排序(选第一个记录为枢轴)
十、(本题15分)
编写复制一棵二叉树的非递归算法。
模拟试题(五)参考答案
一、单项选择题(每小题 2 分,共20分)
(1)B (2)B (3)B (4)C (5)B
(6)D (7)B (8)B (9)B (10)D
二、(每小题4分,共8分)
(1)3 X * Y 2 - / 1 +
(2)2 X Y 3 + * +
三、(每小题4分,共8分)
(1)二叉树的顺序存储表示如下所示:

(2)二叉树的二叉链表存储表示的示意图如下图所示:

四、(每小题4分,共8分)
(1)不是小根堆。调整为:{12,24,33,65,33,56,48,92,86,70}
(2)是小根堆。
五、(本题8分)
普里姆算法从顶点1出发得到最小生成树为:
(1,2)3, (1,3)5, (1,4)8, (4,6)4, (2,5)10, (4,7)20
六、(每小题2分,共8分)
(1)取散列函数为H(key)=key % 13。
(2)顺次将各个数据散列到表中,并同时列出各元素的比较次数如下表所示。

(4)计算查找成功的平均查找次数=(1×7+2×3+3×2)/12=19/12。
七、(第1小题2分,第2、3小题每小题3分,本题8分)
(1)图G有2个连通分量。
(2)按深度优先搜索所得的树如下图所示:

(3)按深度优先搜索所得的顶点序列:ABHFGCDE
八、(本题8分)
(1)树,如下图所示:

(2)C是根结点。
(3)F,K,L,H,D,M,N是叶子结点。
(3)深度是5。
九、(本题9分)
(1)(12,2,10,20,6,18,4,16,30,8,28)
(2)(6,2,10,4,8,12,28,30,20,16,18)
十、(本题15分)
将算法实现函数声明为二叉树类的友元函数,可采用层次遍历的方式进行复制,将已复制的结点进入一个队列中即可。
具体算法实现如下:
// 文件路径名:exam5\alg.h
template
void CopyBitree(BinaryTree *fromBtPtr, BinaryTree *&toBtPtr)
// 操作结果: 复制二叉树fromBt到toBt的非递归算法
{
if (toBtPtr != NULL) delete toBtPtr; // 释放toBtPtr
if (fromBtPtr->Empty())
{ // 空二叉树
toBtPtr = NULL; // 空二叉树
}
else
{ // 非空二叉树
LinkQueue<BinTreeNode *> fromQ, toQ; // 队列
BinTreeNode *fromPtr, *toPtr, *fromRoot, *toRoot;
fromRoot =(BinTreeNode *) fromBtPtr->GetRoot(); // 取出fromBtPtr的根
toRoot = new BinTreeNode(fromRoot->data); // 复制根结点
fromQ.InQueue(fromRoot); toQ.InQueue(toRoot); // 入队
while (!fromQ.Empty())
{ // fromQ非空
fromQ.OutQueue(fromPtr); // 出队
toQ.OutQueue(toPtr); // 出队
if (fromPtr->leftChild != NULL)
{ // 左子树非空
toPtr->leftChild = new BinTreeNode(fromPtr->leftChild->data);
// 复制fromPtr左孩子
fromQ.InQueue(fromPtr->leftChild); toQ.InQueue(toPtr->leftChild); // 入队
}
if (fromPtr->rightChild != NULL)
{ // 右子树非空
toPtr->rightChild = new BinTreeNode(fromPtr->rightChild->data);
// 复制fromPtr左孩子
fromQ.InQueue(fromPtr->rightChild); toQ.InQueue(toPtr->rightChild); // 入队
}
}
toBtPtr = new BinaryTree(toRoot); // 生成toBtPtr
}
}
相关文章:
数据结构与算法分析模拟试题及答案5
模拟试题(五) 一、单项选择题(每小题 2 分,共20分) (1)队列的特点是( )。 A)先进后出 B)先进先出 C)任意位置进出 D࿰…...
.NET 9.0 中 System.Text.Json 的全面使用指南
以下是一些 System.Text.Json 在 .NET 9.0 中的使用方式,包括序列化、反序列化、配置选项等,并附上输出结果。 基本序列化和反序列化 using System; using System.Text.Json; public class Program {public class Person{public string Name { get; se…...
Python自动检测requests所获得html文档的编码
使用chardet库自动检测requests所获得html文档的编码 使用requests和BeautifulSoup库获取某个页面带来的乱码问题 使用requests配合BeautifulSoup库,可以轻松地从网页中提取数据。但是,当网页返回的编码格式与Python默认的编码格式不一致时,…...
11.12机器学习_特征工程
四 特征工程 1 特征工程概念 特征工程:就是对特征进行相关的处理 一般使用pandas来进行数据清洗和数据处理、使用sklearn来进行特征工程 特征工程是将任意数据(如文本或图像)转换为可用于机器学习的数字特征,比如:字典特征提取(特征离散化)、文本特征提取、图像特征提取。 …...
RAG经验论文《FACTS About Building Retrieval Augmented Generation-based Chatbots》笔记
《FACTS About Building Retrieval Augmented Generation-based Chatbots》是2024年7月英伟达的团队发表的基于RAG的聊天机器人构建的文章。 这篇论文在待读列表很长时间了,一直没有读,看题目以为FACTS是总结的一些事实经验,阅读过才发现FAC…...
【配置后的基本使用】CMake基础知识
🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀各种软件安装与配置_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1.…...
ollama+springboot ai+vue+elementUI整合
1. 下载安装ollama (1) 官网下载地址:https://github.com/ollama/ollama 这里以window版本为主,下载链接为:https://ollama.com/download/OllamaSetup.exe。 安装完毕后,桌面小图标有一个小图标,表示已安装成功&…...
【项目开发】理解SSL延迟:为何HTTPS比HTTP慢?
未经许可,不得转载。 文章目录 前言HTTP与HTTPS的耗时差异TCP握手HTTPS的额外步骤:SSL握手使用curl测量SSL延迟性能与安全的权衡前言 在互联网发展的早期阶段,Netscape公司设计了SSL(Secure Sockets Layer)协议,为网络通信提供加密和安全性。有人曾提出一个大胆的设想:…...
2.STM32之通信接口《精讲》之USART通信
有关通信详解进我主页观看其他文章!【免费】SPIIICUARTRS232/485-详细版_UART、IIC、SPI资源-CSDN文库 通过以上可以看出。根据电频标准,可以分为TTL电平,RS232电平,RS485电平,这些本质上都属于串口通信。有区别的仅是…...
Bootstrap和jQuery开发案例
目录 1. Bootstrap和jQuery简介及优势2. Bootstrap布局与组件示例:创建一个响应式的表单界面 3. jQuery核心操作与事件处理示例:使用jQuery为表单添加交互 4. Python后端实现及案例代码案例 1:用户登录系统Flask后端代码前端代码 5. 设计模式…...
Qt 之 qwt和QCustomplot对比
QWT(Qt Widgets for Technical Applications)和 QCustomPlot 都是用于在 Qt 应用程序中绘制图形和图表的第三方库。它们各有优缺点,适用于不同的场景。 以下是 QWT 和 QCustomPlot 的对比分析: 1. 功能丰富度 QWT 功能丰富&a…...
【STM32】MPU6050简介
文章目录 MPU6050简介MPU6050关键块带有16位ADC和信号调理的三轴MEMS陀螺仪具有16位ADC和信号调理的三轴MEMS加速度计I2C串行通信接口 MPU6050对应的数据手册:MPU6050 陀螺仪加速度计 链接: https://pan.baidu.com/s/13nwEhGvsfxx0euR2hMHsyw?pwdv2i6 提取码: v2i6…...
Oracle 单机及 RAC 环境 归档模式及路径修改
Oracle 数据库的使用过程中经常会根据需求的不同而调整归档模式,也经常会修改归档文件存放路径。 下面分别演示单机及 RAC 环境下修改归档模式及路径的操作步骤。 一、单机环境 1.查询当前归档模式及路径 SQL> archive log list Database log mode …...
抽象java入门1.5.3.1——类的进阶
前言:在研究神技代码Hello word的时候,发现了一个重大公式bug,在代码溯源中,我发现了一个奇怪的东西,就是OUT不是类中类(不是常规类的写法) 内容总结: 代码运行的顺序复习 正片开始…...
python——模块 迭代器 正则
一、python模块 先创建一个 .py 文件,这个文件就称之为 一个模块 Module。 使用模块的优点: 模块化编程,多文件编程 1.2 模块的使用 1.2.1 import语句 想要B.py文件中,使用A.py文件,只需要在B.py文件中使用关键字…...
QT仿QQ聊天项目,第三节,实现聊天界面
一,界面控件示意图 界面主要由按钮QPushButton,标签QLabel,列表QListWidget 要注意的是QListWidget既是实现好友列表的控件,也是实现聊天气泡的控件 二,控件样式 QPushButton#btn_name {border:none;}QPushButton#btn_close {border:1px;bac…...
Linux-何为CentOS
今年公司做的 POC 项目中,越来越多地听到客户开始或已经将系统迁移到麒麟、统信、openEuler,但还是有很多客户在用CentOS 7,或者和CentOS 7兼容的其他Linux。今天把CentOS 7相关概念统一整理下供后续参考使用 何为CentOS CentOS — Communit…...
C++中的 std::optional
std::optional<T>是 C17 中的一个标准库组件,optional <T>对象默认是空的,也就是处于无效状态,给它赋值后因为里面有了元素,就变成了有效状态。 1.引入背景 c函数常用返回值表示函数是否执行成功。如返回nullptr表示…...
猫狗识别之BUG汇总
一、github登不上去问题 下载watt toolkit 下载地址:https://steampp.net/ 可以下载后加速,访问github 二、猫狗总体参考核心 B哥的博客 https://github.com/bubbliiiing/classification-keras?tabreadme-ov-file 三、CSDN很多会员才能阅读问题 根据…...
【论文复现】自动化细胞核分割与特征分析
📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀自动化细胞核分割与特征分析 引言1. 效果展示2. HoverNet概述3. HoverNet原理分析整体网络框架实例分割原理 4. HoverNet评估结果5. 复现过程…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...
pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
