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

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

相关文章:

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

第一题&#xff1a; 解析&#xff1a; 我们说递归要找出口&#xff0c;这道题的出口是sum<n&#xff0c;经过观察可以得知&#xff1a;sum123。。。k 设第k次循环跳出&#xff0c;则有sum123。。。k<n k<,很显然答案选B 第二题&#xff1a; 解析&#xff1a; 第一句&a…...

nginx 安装(Centos)

nginx 安装-适用于 Centos 7.x [rootiZhp35weqb4z7gvuh357fbZ ~]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.9.2009 (Core) Release: 7.9.2009 Codename: Core# 创建文件…...

异步编程利器:深入解析 Python 异步并发库 Gevent

在现代 Python 应用开发中&#xff0c;并发编程 是提高程序性能、处理多个任务的关键手段之一。虽然 Python 有原生的多线程、多进程模块&#xff0c;但这些模块存在一些限制&#xff0c;比如全局解释器锁&#xff08;GIL&#xff09;会影响多线程程序的执行效率。此外&#xf…...

Python pyusb 使用指南【windows+linux】

前言&#xff1a;USB(通用串行总线)作为一种高度通用性的硬件接口&#xff0c;在诸多领域均有应用。在C中可以直接使用libusb库即可完成USB设备信息查询、USB设备监听、与USB设备控制端点、数据&#xff08;同步、批量、中断&#xff09;端点进行指令、数据交互等功能。python中…...

Xcode报错:The request was denied by service delegate (SBMainWorkspace)

Xcode报错&#xff1a;The request was denied by service delegate (SBMainWorkspace) 造成的原因: &#xff08;1&#xff09;新的M2芯片的Mac电脑 (2) 此电脑首次安装启动Xcode的应用程序 (3&#xff09;此电脑未安装Rosetta 解决方法: &#xff08;1&#xff09;打开终端…...

面试系列-携程暑期实习一面

Java 基础 1、Java 中有哪些常见的数据结构&#xff1f; 图片来源于&#xff1a;JavaGuide Java集合框架图 Java 中常见的数据结构包含了 List、Set、Map、Queue&#xff0c;在回答的时候&#xff0c;只要把经常使用的数据结构给说出来即可&#xff0c;不需要全部记住 如下&…...

你以为建站很复杂?Baklib 5分钟解决你的痛点

你以为建站很复杂&#xff1f;Baklib 5分钟解决你的痛点&#xff01; 在这个“快节奏”的互联网时代&#xff0c;想要快速搭建一个网站是很多人的刚需。今天我要介绍的&#xff0c;就是如何利用Baklib的CMS/Wiki模板&#xff0c;五分钟内让你的网站“横空出世”。废话不多说&am…...

极狐GitLab 17.4 重点功能解读【二】

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料&#xff1a; 极狐GitLab 官网极狐…...

LVS-DR实战案例,实现四层负载均衡

环境准备&#xff1a;三台虚拟机&#xff08;NET模式或者桥接模式&#xff09; 192.168.88.200 &#xff08;web1&#xff09;(安装nginx服务器作为测试) 192.168.88.201 &#xff08;服务器&#xff09;&#xff08;用于部署lvs-dr&#xff09; 192.168.88.202 (web2)…...

网游和3A类型游戏的CPU选择分析

目录 1. CPU性能基础 1.1 主频 1.2 三级缓存&#xff08;L1、L2、L3缓存&#xff09; 1.3 架构 1.4 单核与多核性能 2. 游戏类型分析 2.1 网游&#xff1a;以《永劫无间》为例 多核性能需求&#xff1a; 单核性能需求&#xff1a; CPU选择建议&#xff1a; 2.2 3A类…...

2024免费录屏软件的宝藏功能与实用技巧

在手机上操作很多时候为了记录方便都直接截图或者录屏&#xff0c;其实电脑也一样。现在面向电脑的录屏工具纷繁复杂&#xff0c;很容易让我们挑花了眼。今天这篇文章我将介绍几款免费的录屏软件为大家提供参考。 1.福昕录屏大师 链接达达&#xff1a;www.foxitsoftware.cn/R…...

linux---进程程序替换详解

提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、程序替换的原理 我们可以创建子进程通过程序替换&#xff0c;来执行不同的程序。程序替换不会重新创建子进程&#xff0c;我们通过程序替换函数&#xff0c;内核将磁盘中的可执行程序和数据加载到内存…...

笔试编程-百战成神——Day01

1.数字统计 题目来源&#xff1a;数字统计——牛客网 测试用例 算法原理 根据题目我们知道&#xff0c;首先要输出两个数字确定一个区间&#xff0c;寻找这个区间内数字中所有包含2的个数&#xff0c;比如12包含一个2,22包含两个2&#xff0c;以此类推&#xff0c;所以我们的…...

Qt+toml文件读写

Qttoml 使用 cpptoml 库示例Qt 项目中的代码示例 解释注意事项 在Qt中使用TOML&#xff08;Tom’s Obvious, Minimal Language&#xff09;格式的文件&#xff0c;可以通过第三方库来实现&#xff0c;例如 cpptoml。TOML是一种易于阅读和写入的配置文件格式&#xff0c;与JSON…...

浅谈C++之指针

一、基本介绍 在C中&#xff0c;指针是一种复杂的数据类型&#xff0c;它存储了另一个变量的内存地址。通过指针&#xff0c;程序可以直接访问和操作内存&#xff0c;这为编程提供了极大的灵活性和效率&#xff0c;但同时也增加了复杂性和潜在的错误风险。 二、指针的概念 指针…...

在虚幻引擎中实时显示帧率

引擎自带了显示帧率的功能 但是只能在编辑器中显示 , 在游戏发布后就没有了 , 所以我们要自己做一个 创建一个控件蓝图 创建画布和文本 , 修改文本 文本绑定函数 , 点击创建绑定 添加一个名为 FPS 的变量 格式化文本 用大括号把变量包起来 {FPS Int} FPS 然后转到事件图表…...

Apache Iceberg构建高性能数据湖

1. 概述 大数据时代的挑战 随着信息技术和互联网的迅猛发展&#xff0c;我们正处于一个数据爆炸的时代。企业和组织每天都在生成和收集海量的数据&#xff0c;这些数据来自于社交媒体、物联网设备、传感器、交易系统等各种来源。如何高效地存储、管理和分析这些庞大的数据集&…...

【图像压缩与重构】基于标准+改进BP神经网络

课题名称&#xff1a;基于标准改进BP神经网络的图像压缩与重构&#xff08;带GUI) 代码获取方式(付费&#xff09;&#xff1a; 相关资料&#xff1a; 1. 代码注释 2.BP神经网络原理文档资料 3.图像压缩原理文档资料 程序实例截图&#xff1a; 1. 基于标准BP神经网络的图…...

函数式编程(以Python编程语言为例)介绍

函数式编程&#xff08;以Python编程语言为例&#xff09;介绍 何为函数式编程&#xff1f; 函数式编程&#xff08;Functional Programming&#xff09;&#xff0c;不要误以为就是用函数编程。函数式编程确实涉及使用函数&#xff0c;但它不仅仅是“用函数编程”那么简单。 …...

银河麒麟操作系统中查看动态库函数的方法

银河麒麟操作系统中查看动态库函数的方法 1、查看单个动态库中的函数2、查找特定函数位于哪个动态库中 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Linux系统&#xff0c;包括银河麒麟操作系统中&#xff0c;动态库&#xff08;.so文件…...

开放麒麟openkylin

开源社区&#xff1a; openKylin: openKylin 社区的愿景是&#xff1a;在开源、自愿、平等和协作的基础上&#xff0c;由基础软硬件企业、非营利性组织、社团组织、高等院校、科研机构和个人开发者共同创立的一个开源社区。 下载地址&#xff1a; openKylin开源操作系统 安…...

用Python与OpenCV的实践:实时面部对称性分析

目录 思路分析 整体代码 效果展示 总结 在当今计算机视觉领域&#xff0c;人脸识别和分析技术得到了广泛应用。无论是安全验证、社交媒体应用&#xff0c;还是美学研究&#xff0c;人脸特征的提取和分析都是关键技术之一。在这篇博客中&#xff0c;我们将深入探讨一个有趣的…...

第三十三章 使用派生密钥令牌进行加密和签名 - 使用 DerivedKeyToken _进行加密(一)

文章目录 第三十三章 使用派生密钥令牌进行加密和签名 - 使用 <DerivedKeyToken> 第三十三章 使用派生密钥令牌进行加密和签名 - 使用 进行加密&#xff08;一&#xff09; 如果加密了任何安全标头元素&#xff0c;请将它们添加到 WS-Security 标头元素中。为此&#…...

Structure-Aware Transformer for Graph Representation Learning

Structure-Aware Transformer for Graph Representation Learning&#xff08;ICML22&#xff09; 摘要 Transformer 架构最近在图表示学习中受到越来越多的关注&#xff0c;因为它通过避免严格的结构归纳偏差而仅通过位置编码对图结构进行编码&#xff0c;自然地克服了图神经…...

滚动页面,el-table表头始终置顶

效果如下&#xff1a; 起始状态&#xff1a; 滚动后&#xff1a; 代码地址&#xff1a;代码地址-面包多...

Mac使用gradle编译springboot-2.7.x源码

1 开发环境&#xff1a; JDK8 ideaIU-2024.2.2 gradle-7.6.3 代理网络 2 下载springboot源码 代码仓库网址 git clone -b 2.7.x https://github.com/spring-projects/spring-boot.git3 安装gradle gradle下载网址 https://services.gradle.org/distributions/ 安装此文件指…...

MySQL --索引(下)

文章目录 6.索引操作6.1 创建主键索引6.2 创建唯一索引6.3 创建普通索引6.4 创建全文索引6.5 查询索引6.6 删除索引6.7 索引创建原则6.8 复合索引6.9 索引最左匹配原则6.10 索引覆盖 6.索引操作 6.1 创建主键索引 第一种方式&#xff1a; – 在创建表的时候&#xff0c;直接…...

选择寄宿学校,给自闭症孩子一个温暖的第二家

在寻找适合自闭症孩子成长的道路上&#xff0c;每一个家庭都充满了艰辛与希望。而广州市星贝育园康复中心&#xff0c;以其独特的全托寄宿制教育模式&#xff0c;为这些特殊的孩子提供了一个充满爱与关怀的“第二家”。在这里&#xff0c;孩子们不仅能够得到专业的康复训练&…...

大模型训练:K8s 环境中数千节点存储最佳实践

今天这篇博客来自全栈工程师朱唯唯&#xff0c;她在前不久举办的 KubeCon 中国大会上进行了该主题分享。 Kubernetes 已经成为事实的应用编排标准&#xff0c;越来越多的应用在不断的向云原生靠拢。与此同时&#xff0c;人工智能技术的迅速发展&#xff0c;尤其是大型语言模型&…...

【Linux学习】1-2 新建虚拟机ubuntu环境

1.双击打开VMware软件&#xff0c;点击“创建新的虚拟机”&#xff0c;在弹出的中选择“自定义&#xff08;高级&#xff09;” 2.点击下一步&#xff0c;自动识别ubuntu光盘映像文件&#xff0c;也可以点击“浏览”手动选择&#xff0c;点击下一步 3.设置名称及密码后&#xf…...