当前位置: 首页 > 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文件…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

手机平板能效生态设计指令EU 2023/1670标准解读

手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读&#xff0c;综合法规核心要求、最新修正及企业合规要点&#xff1a; 一、法规背景与目标 生效与强制时间 发布于2023年8月31日&#xff08;OJ公报&…...

实战设计模式之模板方法模式

概述 模板方法模式定义了一个操作中的算法骨架&#xff0c;并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下&#xff0c;重新定义算法中的某些步骤。简单来说&#xff0c;就是在一个方法中定义了要执行的步骤顺序或算法框架&#xff0c;但允许子类…...