当前位置: 首页 > article >正文

17年数据结构考研真题解析

第一题:

解析:

我们说递归要找出口,这道题的出口是sum<n,经过观察可以得知:sum=1+2+3+。。。+k

设第k次循环跳出,则有sum=1+2+3+。。。+k=\frac{(1+k)k}{2}<n

k<n^{\frac{1}{2}},很显然答案选B

第二题:

解析:

第一句:你都采用非递归方式了,还必须使用栈,完全是错的。1错

第二句:例如s(n)=s(n-1)+1,栈内就要依次存s(n),s(n-1),s(n-2)。。。2对

第三句:确定了入栈次序,可能得到很多种出栈次序。3错

第四句:前半段对,栈只允许对栈顶元素进行操作。4错

答案选C

第三题:

解析:

这道题当一个结论记一下就好了:适合存储稀疏矩阵的是三元组表和十字链表

邻接矩阵适用于存储稠密矩阵,排除BD

二叉链表是和数有关的,排除C

三元组表:(1,3,6)

十字链表

第四题:

解析:

先序序列:根左右

中序序列:左根右

要想两者相同,根左和左根相同,而根是一定存在的,只能没有左的时候,序列就剩下了根右,此时两种序列是相同的,此时没有左子树,只有右子树,答案选B

第五题:

解析:

我们可以把图中所有的点都标上数字;写出的数字版的后续序列,然后一一对应就行了。

最后得出二叉树如下:如图所示,与a同层的结点是d

第六题:

解析:

从头开始读这个编码序列,读到一个序列和前面的编码相同,就能的出一个字母。

第七题:

解析:

在无向图中,边和度关系是1条边对应2个度。

题目里面是16条边,代表总共的度是32。

n4=3,n3=4,剩下的顶点的度小于3,即为n2,n1,n0

32 = 4×3+3×4 +n2×2+n1×1

我们说要使顶点个数最少,则尽量让度大的顶点个数最多,即剩下的点全是度是2的点。

32 = 4×3+3×4 +n2×2,求出n2 = 4个

图G顶点个数是3+4+4=11个

答案选A。

第八题

解析:

当结点个数是奇数时:例如:0,1,2

mid=[\frac{low+high}{2}]不管向上取整还是向下取整,mid都能指向最中间的数折半,例如0,1,2时,mid指向的就是1,此时左右两个子树高度差为0;

当结点个数是偶数时:例如:0,1,2,3

mid=[\frac{low+high}{2}],向下取整就是右子树高度多1层,向上取整就是左子树高度多一层。

此时左右两个子树高度差是:1;

第九题:

解析:

这道题当作结论来记:关系数据库系统中的索引适合使用B+树

索引表和顺序表很像:

B+树也是一个顺序表。

第十题:

解析:

对于硬件本身关注的是程序执行的效率,也就是时间复杂度,而不是程序代码的多少,只有程序员阅读的时候才会关注代码的多少,所以第一句错误。

直接选择排序的空间复杂度是O(1)

归并排序的空间复杂度是O(n),它需要从新开辟一个新的同等大小的数组来存排序后的序列。

显然直接选择排序的空间复杂度更少,所以第二句错误。

归并排序的时间复杂度是O(nlogn)

直接插入排序的时间复杂度是O(n^2)

显然归并排序的算法效率更高,答案选B

第十一题:

解析:

考察顺序存储和链式存储的比较,显然顺序存储具有随机查询的特点,能一次定位到目标元素,因此这种存储方式适合查询时,跳来跳去的情况,链式存储适合多次修改(增删)。

插入排序,选择排序,起泡排序都是相邻两个元素进行比较,此时顺序存储和链式存储的时间效率没有太大区别。

希尔排序每次需要找到增量d的元素进行比较,堆排序每次比较的两个元素间隔也比较大,因此使用顺序存储能更快的找出要比较的元素。

答案选D


http://www.kler.cn/news/325017.html

相关文章:

  • prompt攻击与防范
  • Arrays常用API
  • Java(基本数据类型)( ̄︶ ̄)↗
  • Python中的“锁”艺术:解锁Lock与RLock的秘密
  • Python酷玩之旅_如何连接MySQL(mysql-connector-python)
  • 【Power Compiler手册】13.UPF多电压设计实现(5)
  • 图像处理基础知识点简记
  • HTML5实现好看的唐朝服饰网站模板源码2
  • [Excel VBA]如何使用VBA自动生成图表
  • [论文翻译]基于多模态特征融合的Android恶意软件检测方法
  • 初识Linux以及Linux的基本命令
  • 栏目二:Echart绘制动态折线图+柱状图
  • HCIP——HCIA回顾
  • 华为OD机试 - 对称美学(Python/JS/C/C++ 2024 E卷 100分)
  • MySQL实现按分秒统计数据量
  • android 身份证取景框
  • Python Web 与区块链集成的最佳实践:智能合约、DApp与安全
  • 前端工程记录:Vue2 typescript项目升级Vue3
  • ppt压缩有什么简单方法?压缩PPT文件的几种方法
  • Qt_对话框QDialog的介绍
  • Docker搭建 RabbitMQ 最新版
  • 作业报告┭┮﹏┭┮(Android反调试)
  • Linux安装go-fastdfs
  • 编译安装的 Nginx 设置为服务启动
  • 基于mediapipe深度学习算法的手势数字0-9识别系统python源码+精美GUI界面
  • 9-pg内核之锁管理器(四)常规锁
  • [前端]DOM+CSS+HTML实现水波进度效果
  • SpringBoot 流式输出时,正常输出后为何突然报错?
  • 使用Prometheus进行系统监控,包括Mysql、Redis,并使用Grafana图形化表示
  • JVM和GC监控技术