23年408数据结构

 第一题:

解析

第一点,我们要知道顺序存储的特点:优点就是随用随取,就是你想要查询第几个元素可以直接查询出来,时间复杂度就是O(1),缺点就是不适合删除和插入,因为每次删除和插入一个元素之后都可能需要调整剩下的元素,因此时间复杂度不确定[最好情况下是O(1),最坏情况下是O(n),平均时间复杂度是O(n)]。由此可知,在顺序表中,查询(也就是获取)第i个元素的平均时间复杂度是O(1)。选项D对,且直接排除B,C,最后在来看一看A选项:在顺序表中查找一个指定值的元素,可能需要遍历整个数组,因此时间复杂度是O(n)。选项A错。

答案选D。   

第二题:

解析:注意题目说的是一个双向链表,该题考察的是双向链表的插入,这种题就是要画图。

在执行题目给的语句之后,结点p(p指针所指向的结点简称结点p,后面的同理)的next指针指向结点s,结点s的next指针指向结点q。因为是双向链表,还缺一个结点s到结点p的指针,结点q到结点s的指针。因为链表有一个特点就是未知的结点我们要用已知的指针表示出来不能直接使用,就比如这个结点q,在执行语句中并没有出现q指针,因此结点q就是未知的,先看一下结点q怎么给它表示出来:s->next=q,下图就是执行完语句之后的样子。

1.此时还缺一条结点s指向结点p的指针,观察图:结点s是已知的,怎么找到结点p?因为此时只有图中的三根指针,想找到结点p只能s->next->prev=p,

结点s到结点p的指针:s->prev=p,而p=s->next->prev,合并一下:s->prev=s->next->prev。

2.因为此时结点q的前指针prev还指向的p,我们应该把这个指针调整成指向s。

因此结点q到结点s的指针:q->prev=s,而s->next=q,合并一下也就是s->next->prev=s。
这题不难,就是要注意是双向链表,以及要细心留意一下有哪些指针和怎么用已有的指针来表示出各种结点。这是结点s插入完成的样子,可以对比着看一下。

答案选C

第三题:

解析:这个题的话你要知道三元组表是什么,三元组表储存了矩阵中关键字所在的行,列已经具体的值。三元组表储存稀疏矩阵时是不储存0的,只储存非零常数。因此你并不需要保存M中包含非零元素的行列数,因为只储存非零常数,而行和列同样能看到,数一下就行了,我们只还需要知道M的行数和列数就能将稀疏矩阵M还原出来了,就给非零常数填上去,其他位置添0就完了。

答案选A

第四题:

解析:考察加权平均长度的计算方法:加权平均长度=带权路径长度/所有结点频次之和

第一步:构造哈夫曼树:

第二步:计算哈夫曼树带权平均长度:就是在带权路径长度的基础上再除一个所有频次之和。\frac{2\times (8+10)+3\times(3+4+5+6)}{3+4+5+5+8+10}=2.5

答案选B

第五题:

解析:这种题就你看这个结点的序列顺序,然后依次把字母添上去就行,最后是这个样子:

,然后根据这个图把前序序列写出来就行。

答案选A

第六题:

解析:这个考察单源最短路径算法,我们说单源最短路径就是求一个点到另一个点的最短路径。而单源最短路径包括BFS算法和迪杰斯特拉算法,这两个算法都没有出现在题目当中,再来看看1,2。1,2是用来构造最小生成树的,边都变少了,显然不能求某点到其余顶点的最短路径,下面来看看3,广度优先搜索算法是从点一层一层往外拓展然后进行搜索的,越往外的顶点距离该点的距离越远,所以3是对的。

答案选C

第七题:

解析:这题很奇怪,把终端结点当成了叶子结点

1:插入操作可能增加树的高度:考察B树的插入。1对。

2:若被删结点是叶结点,显然会导致叶结点的变化:若被删结点不是叶结点,则要先将被删结点和它的前驱或后继交换,最终转换为删除叶结点,还是会导致叶结点的变化,Ⅱ正确。

3:如果在非叶结点中查找到了给定关:键字,则不用向下继续查找,Ⅲ错误。

4:插入关键字的初始位置是最底层叶结点,但可能因结点分裂而被转移到父结点中,IV错误。

答案选B

第八题:

解析

第一次折半:300

第二次折半:150

第三次折半:75

第四次折半:38(37 1 37注意第38元素左边37个元素,右边37个元素,因此下次折半的个数是37+1=38)

第五次折半:19(9 1 9注意第10元素左边9个元素,右边9个元素,因此下次折半的个数是9+1=10)

第六次折半:10

第七次折半:5(2 1 2注意第3元素左边2个元素,右边2个元素,因此下次折半的个数是2+1=3)

第八次折半:3(1 1 1注意第2元素左边1个元素,右边1个元素,因此下次折半的个数是1+1=2)

第九次折半:2

第十次折半:1

最多十次

答案选B

第九题:

解析

第一步:计算散列函数,将关键字填上去:

最后是这个样子:

第二步:计算查找失败的平均查找长度,做这个题需要我们非常的细心。首先,我们要清楚逻辑删除的概念:当我们删除掉散列表中的一个数之后,这个位置并不是为空了,里面的值会变为-1,为什么会这样的呢,因为假设如果表中还存在一个关键字0,

,我们算出来和25的位置是冲突的,经过线性探测再散列法之后串到了0的位置,如果我们使用线性查找到4这个位置的值时,发现为空的话,就不会继续查找了,就会漏点这个0,因为0原本也是在4这个位置的,所以这里的位置不是空,而是-1,我们在查找H=4时,查到里面的关键字是-1,说明还没有完事,接着向后查找到0这个位置,发现是空的,这时候才算是查找失败,因此查找H=4时,是要查找两次的,这个要注意。

查找失败的平均查找长度:是从这个点开始到下一个空节点的长度÷所有结点的个数之和。

这题要注意的就是查找H=4,失败的次数是2次。

答案选C

第十题:

解析

这个题太简单了,我们正常的话都会记住稳定的算法:冒泡排序,归并排序,直接插入,基数排序,计数排序,排除掉这些就是不稳定的算法,直接排除A,B,D

答案选C

第十一题:

解析:考察快速排序的演变过程。

每一次排序之后,都会确定枢轴元素在序列中最终的位置,且它的左边都是小于这个枢轴元素的,右边都是大于这个枢轴元素的。显然这个枢轴元素就是81.

答案选D

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/889639.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据分享】2000—2023年我国省市县三级逐年植被覆盖度(FVC)数据(Shp/Excel格式)

之前我们分享过2000—2023年逐月植被覆盖度(FVC)栅格数据(可查看之前的文章获悉详情)和Excel和Shp格式的省市县三级逐月FVC数据(可查看之前的文章获悉详情),原始的逐月栅格数据来源于高吉喜学者…

青云AI算力创新:直击AI落地痛点 打造企业数智化基石

在当今这个数字化、智能化的时代,企业数字化转型、智能化升级应用实践在加速,AI算力已经成为企业数字化转型和智能化升级的重要基石,而AI算力在推动技术创新和业务增长中起到了关键作用。青云科技近日举办的AI算力发布会,标志着AI…

知识图谱入门——5:Neo4j Desktop安装和使用手册(小白向:Cypher 查询语言:逐步教程!Neo4j 优缺点分析)

Neo4j简介 Neo4j 是一个基于图结构的 NoSQL 数据库,专门用于存储、查询和管理图形数据。它的核心思想是使用节点、关系和属性来描述数据。图数据库非常适合那些需要处理复杂关系的数据集,如社交网络、推荐系统、知识图谱等领域。 与传统的关系型数据库…

如何快速给word文件加拼音?请跟着步骤完成吧

如何快速给word文件加拼音?在日常工作中,我们时常会遇到需要为Word文件中的文字添加拼音的情况,这尤其在教育、出版或国际交流等领域显得尤为重要。为文字配上拼音,不仅能帮助学习者准确发音,还能提升文档的可读性和普…

【JavaEE初阶】深入理解不同锁的意义,synchronized的加锁过程理解以及CAS的原子性实现(面试经典题);

前言 🌟🌟本期讲解关于锁的相关知识了解,这里涉及到高频面试题哦~~~ 🌈上期博客在这里:【JavaEE初阶】深入理解线程池的概念以及Java标准库提供的方法参数分析-CSDN博客 🌈感兴趣的小伙伴看一看小编主页&am…

【STM32单片机_(HAL库)】4-2-1【定时器TIM】定时器输出PWM实现呼吸灯实验

1.硬件 STM32单片机最小系统LED灯模块 2.软件 pwm驱动文件添加定时器HAL驱动层文件添加GPIO常用函数定时器输出PWM配置步骤main.c程序 #include "sys.h" #include "delay.h" #include "led.h" #include "pwm.h"int main(void) {HA…

【瑞萨RA8D1 CPK开发板】串口的使用和STDOUT输出重定向

串口 本次串口的使用关于时钟导致串口的波特率不对,坑了我很久的时间 使能时钟 串口发现一个问题就是,只能使用下边的时钟配置,修改时钟源和分频系数都会导致串口波特率不正常,这种问题出现在mdkrasc的使用场景之下&#xff1b…

adaptor lora基础

https://www.zhihu.com/question/508658141/answer/3340979311 adaptor和PEFT的区别:前者在模型子层后加一个小型的dense;后者直接稀疏化模型本身; Loading Pre-Trained Adapters — AdapterHub documentation CVPR 2024 | SD-DiT&#xff…

Python | Leetcode Python题解之第468题验证IP地址

题目: 题解: class Solution:def validIPAddress(self, queryIP: str) -> str:if queryIP.find(".") ! -1:# IPv4last -1for i in range(4):cur (len(queryIP) if i 3 else queryIP.find(".", last 1))if cur -1:return &q…

每日OJ题_牛客_小乐乐改数字_模拟_C++_Java

目录 牛客_小乐乐改数字_模拟 题目解析 C代码 Java代码 牛客_小乐乐改数字_模拟 小乐乐改数字_牛客题霸_牛客网 (nowcoder.com) 描述: 小乐乐喜欢数字,尤其喜欢0和1。他现在得到了一个数,想把每位的数变成0或1。如果某一位是奇数&#…

【网络安全】CVE-2024-46990: Directus环回IP过滤器绕过实现SSRF

未经许可,不得转载。 文章目录 背景漏洞详情受影响版本解决方案背景 Directus 是一款开源 CMS,提供强大的内容管理 API,使开发人员能够轻松创建自定义应用程序,凭借其灵活的数据模型和用户友好的界面备受欢迎。然而,Directus 存在一个漏洞,允许攻击者绕过默认的环回 IP …

大数据之——VWare、Ubuntu、CentOs、Hadoop安装配置

前言:这里很抱歉前几期考研专题以及PyTorch这些内容都没有更新,并不是没有在学了,而是事太鸡儿多了,前不久刚刚打完华为开发者比赛,然后有紧接着高数比赛、考研复习,因此这些后续文章都在草稿状态中&#x…

Allegro在PCB上开槽的三种方法操作指导

Allegro如何在PCB上开槽的三种方法操作指导 当PCB有特殊设计要求的时候,需要在PCB上开槽,Allegro支持在PCB上开槽操作,具体操作如下 以下图为例,需要在这个板框中间开槽 开方形槽 选择shape add rect命令 画在Board Geometry-o…

【技术详解】SpringMVC框架全面解析:从入门到精通(SpringMVC)

文章目录 【技术详解】SpringMVC框架全面解析:从入门到精通(SpringMVC)SpringMVC概述1. 三层架构与MVC架构区别1.1 三层架构1.2 MVC架构1.3前后端分离开发模式 2. SpringMVC环境搭建2.1 注解启动方式2.2 xml启动方式2.3 SpringMVC PostMan工具使用 3. SpringMVC 请求…

MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置

MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置 目录 MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置一、MySQL 软件的下载二、安装 MySQL三、配置 MySQL1、配置环境变量2、安装并启动 MySQL 服务3、设置 MySQL 字符集4、为 root 用户设置登录密码 一…

【华为欧拉】国产OpenEuler服务器系统安装以及图形界面

openEuler下载 | openEuler ISO镜像 | openEuler社区官网 下载安装iso 本次选择4G的社区版本 安装,复制到光盘,光盘引导安装。虚拟机安装,准备好iso文件引用,指定好安装源,安装界面和centOS基本一样。选择最小安装就…

代码随想录算法训练营第三十天|491. 非递减子序列,46. 全排列,47. 全排列 II,332. 重新安排行程,51. N 皇后,37. 解数独

491. 非递减子序列,46. 全排列,47. 全排列 II,332. 重新安排行程,51. N 皇后,37. 解数独 491. 非递减子序列46. 全排列47. 全排列 II332. 重新安排行程51. N 皇后37. 解数独 491. 非递减子序列 给你一个整数数组 nums…

友思特方案 | FantoVision边缘计算:嵌入式视觉系统如何实现“更快 更高 更强”?

导读 便于集成的嵌入式视觉系统一直以来面临着带宽、内存、算力三个方面的挑战。友思特 FantoVision 边缘计算设备拥有更快的处理速度和更高的带宽选择,其开放式架构有效突破了上述三重阻碍。 嵌入式视觉 嵌入式视觉是传统机器视觉衍生出来的子集,嵌入…

k8s 中存储之 PV 持久卷 与 PVC 持久卷申请

目录 1 PV 与 PVC 介绍 1.1 PersistentVolume(持久卷,简称PV) 1.2 PersistentVolumeClaim(持久卷声明,简称PVC) 1.3 使用了PV和PVC之后,工作可以得到进一步的细分: 2 持久卷实验配置…

UE5运行时动态加载场景角色动画任意搭配-相机及运镜(二)

通过《MMD模型及动作一键完美导入UE5》系列文章,我们可以把外部场景、角色、动画资产导入UE5,接下来我们将实现运行时动态加载这些资产,并任意组合搭配。 1、运行时播放相机动画 1、创建1个BlueprintActor,通过这个蓝图动态创建1个LevelSequence,并Play 2、将这个Bluep…