数据结构与算法分析模拟试题及答案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. 复现过程…...
排序算法 -快速排序
文章目录 1. 快速排序(Quick Sort)1.1、 简介1.2、 快速排序的步骤 2. Hoare 版本2.1、 基本思路1. 分区(Partition)2. 基准选择(Pivot Selection)3. 递归排序(Recursive Sorting) 2…...
K8S 查看pod节点的磁盘和内存使用情况
查看某个节点的磁盘使用率: kubectl exec -it pod名称 -n 命名空间 – df -h 查询所有节点的已使用内存: kubectl top pods --all-namespaces | grep itsm 查询某个节点的总内存, kubectl describe pod itsr-domain-59f4ff5854-hzb68 --nam…...
华为HCIP——MSTP/RSTP与STP的兼容性
一、MSTP/RSTP与STP的兼容性的原理: 1.BPDU版本号识别:运行MSTP/RSTP协议的交换机会根据收到的BPDU(Bridge Protocol Data Unit,桥协议数据单元)版本号信息自动判断与之相连的交换机的运行模式。如果收到的是STP BPDU…...
AI 大模型如何重塑软件开发流程:现状与未来展望
随着人工智能技术的飞速发展,AI 大模型的出现正在深刻改变软件开发行业的传统模式。从代码生成到智能测试,AI 已渗透到软件开发的各个环节,为开发者提供了前所未有的效率提升,同时也带来了全新的挑战与思考。在本文中,…...
3步实现贪吃蛇
方法很简单,打开页面,复制,粘贴 一.整体思维架构 我们根据游戏的开始,运行,结束,将整个游戏划分成三个部分。在每个部分下面又划分出多个功能,接下来我们就根据模块一一实现功能。 二.Gamesta…...
华东师范大学数学分析第五版PDF习题答案上册及下册
“数学分析”是数学专业最重要的一门基础课程,也是报考数学类专业硕士研究生的专业考试科目。为了帮助、指导广大读者学好这门课程,编者编写了与华东师范大学数学科学学院主编的《数学分析》(第五版)配套的辅导用书,以帮助读者加深对基本概念…...
MySQL之联合查询
前文我们了解到了数据库设计的范式要求,故生活中很多相互关联的数据被拆分开来,但彼此之间通过某种条件链接,此文联合查询就是通过多表之间的连接关系,来查询我们想要的数据,即 《联合查询》 1. 联合查询简介 1.1 为什…...
[C/C++] 定位新表达式 placement new
在C中,表达式 new (ptr) T(); 展示了一种特殊的内存分配和对象构造方式,这被称为定位新表达式(placement new)。 通常,当我们使用 new 关键字时,它会在堆上动态分配内存,并调用相应的构造函数来…...
【MySQL】MySQL的笛卡尔积现象是什么?简单说说
笛卡尔积好像是个科学家,也是个学术概念,在MySQL中表示交叉连接,即:匹配一切所有的可能 举例如下: 准备两张表 【employee表】 emp_idlast_namedept_id1Smith12Johnson2 【department表】 dept_iddepartment_nam…...
《InsCode AI IDE:编程新时代的引领者》
《InsCode AI IDE:编程新时代的引领者》 一、InsCode AI IDE 的诞生与亮相二、独特功能与优势(一)智能编程体验(二)多语言支持与功能迭代 三、实际应用与案例(一)游戏开发案例(二&am…...
山东省住房和城乡建设厅门户网站/真正免费的网站建站平台
1.背景介绍 听着《梦中的额吉》,《天堂》...女儿在睡觉...外面细雨...中秋小长假,完成自己的Open patch编码中充满了快乐!前提是你知道自己在做什么!Open不给力,虽然它给出了N多的Renegotiate选项,然则其实…...
做美食网站的素材图片/免费站推广网站在线
集群分发脚本 #!/bin/bash #1 获取输入参数个数,如果没有参数,直接退出 pcount$# if((pcount0)); then echo no args; exit; fi #2 获取文件名称 p1$1 fnamebasename $p1 echo fname$fname #3 获取上级目录到绝对路径 pdircd -P $(dirname $p1)…...
长宁区网站设计建设/百度关键词快速优化
css文本底部淡入淡出效果适用浏览器:IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗.Completely revolutionize high-quality niches after mission-critical expertise. Professionally deploy standardized total linkage before interoperable…...
菏泽做网站的工作室/浏览器网址
题库来源:安全生产模拟考试一点通公众号小程序 R1快开门式压力容器操作考试题是由公众号安全生产模拟考试一点通提供,R1快开门式压力容器操作证模拟考试题库是根据R1快开门式压力容器操作最新版教材汇编出R1快开门式压力容器操作仿真模拟考试。2021年R1…...
全屋定制效果图/成都网站seo技巧
以下是一个使用有限差分法模拟三维地震波的Python代码: import numpy as np 定义空间和时间步长 dx 0.1 dt 0.001 定义空间范围 xmin 0. xmax 1. 定义时间范围 tmin 0. tmax 1. 定义空间和时间网格 x np.arange(xmin, xmaxdx, dx) t np.arange(tmin, tmaxdt…...
北龙中网 可信网站验证 费用/广告投放平台都有哪些
题目 本题是谭浩强《c语言程序设计》第五章第十六题 题目: 输出图案: * 1 *** 2 ***** 3 ******* 4***** 5*** 6* 7以下是…...