2012年408考研真题-数据结构
8.【2012统考真题】求整数n(n≥0)的阶乘的算法如下,其时间复杂度是()。
int fact(int n){
if(n<=1) return 1;
return n*fact (n-1);
}
A. O(log2n) B. O(n) C. O(nlog2n) D. O(n^2)
解析:
观察代码,我们不难发现使用了递归调用。递归调用要找出口,也就是跳出递归的条件。
本题跳出递归的条件是n=1;从fact(n)不断地往下递归知道fact(1),在这过程中,总共执行了n次,时间复杂度为O(n).
11.【2012统考真题】已知操作符包括“+”、“-”、“*”、“/”、“(”和“)”。将中缀表达式a+b-a*((c+d)/e-f)+g转换为等价的后缀表达式ab+acd+e/f-*-g+时,用栈来存放暂时还不能确定运算次序的操作符。栈初始时为空时,转换过程中同时保存在栈中的操作符的最大个数是(A)。A.5 B.7 C.8 D.11
解析:
a输出,+存入栈内,b输出,操作符进栈讲究一个够强才进,-和+是平级的,只能让+先输出出来,-再进去,这时候栈内的存的个数任然是1个。
接下来是a,输出a,然后是*,*够强存入栈中,接着是((够强,存入栈中,输出c,接下来是+,此时栈里面最上层是(,所以+也存入栈内,此时栈内存的操作符个数是5个了。
接着输出d,然后是),)仍爱着(,它俩要私奔,所以栈内+输出,(输出,接着是/,/直接进入栈内,接下来直接输出字母e,接着是-,因为此时栈内是/号,/号更强,-不能直接进,让/直接输出,-进入,然后是f,输出f,接着是),因为要私奔,栈内输出-和(,然后是+,此时栈顶是*,需要先将*输出,再让+进入,此时栈内存过的最大的个数是5个,选A。
30.[2012统考真题]若一棵二叉树的前序遍历序列为 a,e,b,d.c.后序遍历序列为 b.c.d,e,a,则根结点的孩子结点()。
A.只有e B.有 e、b C.有e、c D.无法确定
解析:
前序遍历序列:根左右。
后序遍历序列:左右根。
前序遍历序列第一个是a,a是根结点,但是在后序遍历序列中a是最后一个。
以下面这个例子来看,作为根结点A的两个孩子,结点B和C在前序遍历中是ABC,
在后序遍历中是BCA,不管是前序还是后序他们的相对位置是不变的。
带着这样一个结论来看这道题:
因为前序遍历第二个结点e,
假设如果有左孩子,那左孩子的根结点一定是e。
假设如果没有左孩子,那右子树的根结点一定也是e。
也就是说根结点的孩子结点必有e。
假设根结点的孩子结点有两个,则这两个孩子结点在前序遍历序列和后序遍历序列中的相对位置是不变的。
看B选项,e和b在前序遍历序列中是e在前b在后,在后序遍历序列中是b在前e在后。
相对位置变了,b不是根结点的叶子结点。B错
同理可以证明B错,C错。
20.[2012统考真题]若平衡二叉树的高度为 6,且所有非叶子结点的平衡因子均为1,则该平衡二叉树的结点总数为(B)。
A.12 B.20 C.32 D.33
解析:
平衡因子:左右子树的高度之差。
我们不难得出这样一个结论:对于一个所有非叶子结点的平衡因子都为1,且高度为h的平衡二叉树,它的结点总数为高度为h-1和h-2的同类树的结点总数再+1;
如何h=3的结点个数是树高为1+树高为2的同类树的结点个数再+1;
我们接着算出h=4,h=5,h=6时的结点个数。
h=4 : 2+4+1=7
h=5 : 4+7+1=12
h=6 : 7+12+1=20
算出答案:20选B
14.对有n个顶点、e条边且使用邻接表存储的有向图进行广度优先遍历,其算法的时间复杂度是)。
A.O(n) B. O(e) C.O(n+e) D. O(ne)
解析:
对有n个顶点、e条边的有向图,不管是BFS广度优先遍历还是DFS深度优先遍历,它的时间复杂度都和使用的存储方式有关。
使用邻接表存储方式的,时间复杂度是O(n+e)
使用邻接矩阵存储的,时间复杂度是O(
)
21.【2012统考真题】若用邻接矩阵存储有向图,矩阵中主对角线以下的元素均为零,则关于该图拓扑序列的结论是()。
A.存在,且唯一
B.存在,且不唯一
C.存在,可能不唯一
D.无法确定是否存在
解析:
,由图可知,只有当i<j时存在边。
且只存在0-1,0-2,0-3,1-2,1-3的边,不存在回路,也就没有环。
那这就是一个无环图。
有向无环图是存在拓扑序列的,所以D错
拓扑序列在图1:
是不唯一的。
在图二:
是唯一的。
答案选C。
19.【2012统考真题】对下图所示的有向带权图,若采用Dijkstra算法求从源点a到其他各顶点的最短路径,则得到的第一条最短路径的目标顶点是b,第二条最短路径的目标顶点是c,后续得到的其余各最短路径的目标顶点依次是()。
A.d,e,f B.e,d,f C.f,d,e D.f,e,d
解析:
18.【2012统考真题】下列关于最小生成树的叙述中,正确的是(A)。
I.最小生成树的代价唯一。
II.所有权值最小的边一定会出现在所有的最小生成树中。
III.使用Prim算法从不同顶点开始得到的最小生成树一一定相同。
Ⅳ.使用Prim算法和Kruskal算法得到的最小生成树总不相同。
A.仅I B.仅Ⅱ C.仅I、Ⅲ D.仅Ⅱ、Ⅳ
解析:
生成树的代价最小才能称为最小生成树,因此代价一定是唯一的。I对。
II不一定,以下图为例:
使用prim算法得到的结果不唯一,因为一个点如果几条边的权值都是一样的话,那它就有几条路线选择的可能性,因此不唯一,生成的最小生成树肯定不是唯一相同的。III错。
如果连通图的最小生成树是唯一的,那么不管用什么算法都是唯一的一种。Ⅳ错。
12.【2012统考真题】已知一棵3阶B树,如下图所示。删除关键字78得到一棵新B树,其最右叶结点中的关键字是(D)。
A.60 B.60, 62 C.62, 65 D.65
解析:78去掉后,需要找一个新的元素添上,这里直接找它的前驱65,然后62填补上65的空缺。所以最右边叶子结点中的关键字是65。
10.【2012统考真题】在内部排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序方法中,每趟排序结束都至少能够确定一个元素最终位置的方法是()。
I.简单选择排序
Ⅱ.希尔排序
Ⅲ.快速排序
Ⅳ.2路归并排序
V.堆排序
A.仅I、Ⅲ、Ⅳ
B.仅I、Ⅲ、V
C.仅II、Ⅲ、Ⅳ
D.仅Ⅲ、Ⅳ、V
解析:
I.简单选择排序:每次都能在待排的队列中选出一个最小或者最大的出现在头或尾。I是对的。
Ⅱ.希尔排序:举一个反例:
Ⅲ.快速排序,每趟排序过后,这个数左边的全小于它,右边的数全大于它,能确定位置。
Ⅳ.堆排序:前面的能确定比这个数小,后面的能确定比这个数大。堆排序能确定位置。V.2路归并排序:
举一个反例:
4321
3412
1234
2路归并排序不能确定最终位置。
16.【2012统考真题】对同一待排序序列分别进行折半插入排序和直接插入排序,两者之间可能的不同之处是()。
A.排序的总趟数
B.元素的移动次数
C.使用辅助空间的数量
D.元素之间的比较次数
解析:
折半插入排序是在直接插入排序的基础上,在将数插入到已排序的过程中,使用了折半查找的思想,折半查找显然能大幅度减少元素的比较次数。
相关文章:

2012年408考研真题-数据结构
8.【2012统考真题】求整数n(n≥0)的阶乘的算法如下,其时间复杂度是()。 int fact(int n){ if(n<1) return 1; return n*fact (n-1); } A. O(log2n) B. O(n) C. O(nlog2n) D. O(n^2) 解析: 观察代码,我们不…...

【北京迅为】《STM32MP157开发板使用手册》- 第四十章 二值信号量实验
iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐…...

Docker UI强大之处?
DockerUI是一款由国内开发者打造的优秀Docker可视化管理工具。它拥有简洁直观的用户界面,使得Docker主机管理、集群管理和任务编排变得轻松简单。DockerUI不仅能展示资源利用率、系统信息和更新日志,还提供了镜像管理功能,帮助用户高效清理中…...

前端面试题——token安全问题处理与大数据列表展示
1.长时间保存token问题 长时间保存Token涉及多个方面的问题,包括安全性、性能、以及Token的管理策略等。以下是对长时间保存Token问题的详细分析: 一、安全性问题 Token泄露风险: Token是用户身份验证的凭证,如果长时间保存且未…...

Flask项目入门和视图
1、第一个项目的结构 以示例代码中的入口文件app.py为例子 (1)引入Flask以及创建Flask对象 from flask import Flask app Flask(__name__)(2) 路由route 视图函数 app.route(/index/) def hello_world():# 响应:…...

深入理解Lucene:开源全文搜索引擎
目录 引言 Lucene的核心概念 索引 分析器 存储 Lucene的工作流程 创建索引 搜索索引 Lucene核心技术 倒排索引 排序算法 索引压缩与合并 并发控制与实时更新 结论 引言 随着互联网的飞速发展,信息量呈指数级增长,如何有效地管理和检索这些…...

Qt中pro项目文件配置介绍
Qt中,工程文件是以.pro后缀的文件,主要用以包含Qt模块,代码文件,依赖库,以及对项目的一些属性进行配置。 具体看个例子: #这块是添加Qt模块 #.pro文件中使用#号作为注释 QT core gui #QT webengine…...

相亲交友中的用户画像构建方法探讨
随着互联网技术的发展,相亲交友平台成为现代人寻找伴侣的重要渠道之一。在这一过程中,如何精准地为用户推荐合适的对象成为了平台能否成功的关键。本文旨在探讨相亲交友平台中用户画像的构建方法,并分析其对于提高匹配度的重要性(…...

总结
本来想把这个写完再写总结的,但是我发现卡了,明天去问问别人。 今天写上传个文件,没上传好,找到问题了,但是还不知道怎么改,我发给前端成功了,刚刚看了下好像是这里的问题,但是不是…...

C# 开发教程-入门基础
1.C# 简介、环境,程序结构 2.C# 基本语法,变量,控制局域,数据类型,类型转换 3.C# 数组、 循环,Linq 4.C# 类,封装,方法 5.C# 枚举、字符串 6.C# 面相对象,继承࿰…...

Windows上,使用远程桌面连接Ubuntu
要在 Ubuntu 上设置公网 IP 并通过 Windows 远程桌面连接到 Ubuntu,你需要完成以下步骤: 设置 Ubuntu 公网 IP: 确保你的 Ubuntu 服务器已经配置了一个公网 IP 地址。 你可以通过云服务提供商(如 AWS、Azure、Google Cloud&#…...

SharePoint Online 计划 1 部署方案
概述 SharePoint Online 是 Microsoft 365 的一部分,为组织提供了一种高效、灵活的协作平台。SharePoint Online 计划 1(Plan 1)尤其适用于中小型企业,提供了基本的文档管理和协作功能。本文将详细介绍如何部署 SharePoint Online 计划 1,并探讨其配置、管理和最佳实践。…...

kubernetes存储之GlusterFS(GlusterFS for Kubernetes Storage)
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…...

网络安全等保培训 ppt
网络安全等级保护怎么做?...

开关磁阻电机(SRM)系统的matlab性能仿真与分析
目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 SRM的基本结构 4.2 SRM的电磁关系 4.3 SRM的输出力矩 5.完整工程文件 1.课题概述 开关磁阻电机(SRM)系统的matlab性能仿真与分析,对比平均转矩vs相电流,转矩脉动vs相电流&a…...

最新动态一致的文生视频大模型FancyVideo部署
FancyVideo是一个由360AI团队和中山大学联合开发并开源的视频生成模型。 FancyVideo的创新之处在于它能够实现帧特定的文本指导,使得生成的视频既动态又具有一致性。 FancyVideo模型通过精心设计的跨帧文本引导模块(Cross-frame Textual Guidance Modu…...

茴香豆:企业级知识问答工具实践闯关任务
基础任务 在 InternStudio 中利用 Internlm2-7b 搭建标准版茴香豆知识助手,并使用 Gradio 界面完成 2 轮问答(问题不可与教程重复,作业截图需包括 gradio 界面问题和茴香豆回答)。知识库可根据根据自己工作、学习或感兴趣的内容调…...

英飞凌 PSoC6 RT-Thread 评估板简介
概述 2023年,英飞凌(Infineon)联合 RT-Thread 发布了一款 PSoC™ 62 with CAPSENSE™ evaluation kit 开发板 (以下简称 PSoC 6 RTT 开发板),该开发套件默认内置 RT-Thread 物联网操作系统。PSoC 6 RTT 开…...

深度学习笔记(8)预训练模型
深度学习笔记(8)预训练模型 文章目录 深度学习笔记(8)预训练模型一、预训练模型构建一、微调模型,训练自己的数据1.导入数据集2.数据集处理方法3.完形填空训练 使用分词器将文本转换为模型的输入格式参数 return_tenso…...

C#事件的用法
前言 在C#中,事件(Event)可以实现当类内部发生某些特定的事情时,它可以通知其他类或对象。事件是基于委托(Delegate)的,委托是一种类型安全的函数指针,它定义了方法的类型ÿ…...

金砖软件测试赛项之Jmeter如何录制脚本!
一、简介 Apache JMeter 是一款开源的性能测试工具,用于测试各种服务的负载能力,包括Web应用、数据库、FTP服务器等。它可以模拟多种用户行为,生成负载以评估系统的性能和稳定性。 JMeter 的主要特点: 图形用户界面:…...

docker-squash镜像压缩
docker-squash 和 docker export docker load 的原理和效果有一些相似之处,但它们的工作方式和适用场景有所不同。 docker-squash docker-squash 是一个工具,它通过分析 Docker 镜像的层(layers)并将其压缩成更少的层来减小镜像…...

Vue3快速入门+axios的异步请求(基础使用)
学习Vue之前先要学习htmlcssjs的基础使用 Vue其实是js的框架 常用到的Vue指令包括vue-on,vue-for,vue-blind,vue-if&vue-show,v-modul vue的基础模板: <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8&…...

VM16安装macOS11
注意: 本文内容于 2024-09-17 12:08:24 创建,可能不会在此平台上进行更新。如果您希望查看最新版本或更多相关内容,请访问原文地址:VM16安装macOS11。感谢您的关注与支持! 使用 Vmware Workstation Pro 16 安装 macOS…...

自定义复杂AntV/G6案例
一、效果图 二、源码 /** * * Author: me * CreatDate: 2024-08-22 * * Description: 复杂G6案例 * */ <template><div class"moreG6-wapper"><div id"graphContainer" ref"graphRef" class"graph-content"></d…...

Golang | Leetcode Golang题解之第419题棋盘上的战舰
题目: 题解: func countBattleships(board [][]byte) (ans int) {for i, row : range board {for j, ch : range row {if ch X && !(i > 0 && board[i-1][j] X || j > 0 && board[i][j-1] X) {ans}}}return }...

CCF刷题计划——LDAP(交集、并集 how to go)
LDAP 计算机软件能力认证考试系统 不知道为什么,直接给我报一个运行错误,得了0分。但是我在Dev里,VS里面都跑的好好的,奇奇怪怪。如果有大佬路过,请帮小弟看看QWQ。本题学到的:交集set_intersection、并集…...

谷歌论文提前揭示o1模型原理:AI大模型竞争或转向硬件
Open AI最强模型o1的护城河已经没有了?仅在OpenAI发布最新推理模型o1几日之后,海外社交平台 Reddit 上有网友发帖称谷歌Deepmind在 8 月发表的一篇论文内容与o1模型原理几乎一致,OpenAI的护城河不复存在。 谷歌DeepMind团队于今年8月6日发布…...

【ShuQiHere】 探索数据挖掘的世界:从概念到应用
🌐 【ShuQiHere】 数据挖掘(Data Mining, DM) 是一种从大型数据集中提取有用信息的技术,无论是在商业分析、金融预测,还是医学研究中,数据挖掘都扮演着至关重要的角色。本文将带您深入了解数据挖掘的核心概…...

LabVIEW提高开发效率技巧----使用事件结构优化用户界面响应
事件结构(Event Structure) 是 LabVIEW 中用于处理用户界面事件的强大工具。通过事件驱动的编程方式,程序可以在用户操作时动态执行特定代码,而不是通过轮询(Polling)的方式不断检查界面控件状态。这种方式…...