【数据结构】线性表习题 |顺序表 |链表 |栈和队列

news2024/11/17 20:40:20

📖专栏文章:数据结构学习笔记
🪪作者主页:格乐斯

前言

线性表习题 |顺序表 |链表 |栈和队列

顺序表和链表

1、 在这里插入图片描述

选B

100+2(5-1)=108*

第i个元素地址X,元素长度Len,第j个元素地址Y

公式:Y=X+Len(j-i)*


2、

在这里插入图片描述

选A

对顺序表操作的算法时间复杂度是O(1)的只有访问任意结点,插入删除排序都是大于等于O(N)


3、 在这里插入图片描述

选B

顺序表总共127个元素,在最后一个元素之后插入需移动0次,在最后一个元素插入移动1次,倒数第二个元素插入移动2次,依次类推,在首元素插入移动127次

(0+1+…+127)/128=63.5

*公式:((0+n)n/(n+1)=n^2/(n+1)


4、在这里插入图片描述

选A

链式存储结构所占存储空间,一部分存放结点值,另一部分存放与其他结点有关系的指针


5、在这里插入图片描述

选D

链式结构的存储单元地址连续或不连续都可以


6、

在这里插入图片描述

选B

链式结构的对单个元素插入删除操作的时间复杂度是最小的O(1)

顺序结构的则是O(N)


7、

在这里插入图片描述

选C

存储密度是指一个结点数据本身所占的存储空间和整个结点所占的存储空间之比。

假设链表一个结点的数据域占空间为D,指针域占的空间为N,则存储密度为D/(D+N),一定是小于1的。


8、

在这里插入图片描述

选A

两个各有n个元素的有序表,如果第一个有序表的所有元素都小于第二个表中元素,那么第二个表的元素依次与第一个表的元素比较,只需要比较n次


9、

在这里插入图片描述

选B

长度为n的顺序表中,第i个元素之前插入新元素需要向后移动n-i+1个元素

就相当于问 3到10有几个数字,答案无疑是10-3+1=8个


10、在这里插入图片描述

选D

链表中首元素和尾元素没有直接前驱和直接后驱,除此之外都有前驱后驱且仅有一对

线性表的结点可以没有元素


11、在这里插入图片描述

选C

在链表末尾插入1个新结点需要先找到末尾结点,时间复杂度O(N)

若创建一个包含n个结点的单链表也就是末尾插入n个结点,则时间复杂度为O(N^2)


12、在这里插入图片描述

选D

链式结构和顺序结构各有优缺点,不存在一种结构优于另一种结构的说法


13、在这里插入图片描述

选D

链表结点后插法:先 新结点连接原结点,后 定位结点连接新结点


14、在这里插入图片描述

选A

单链表结点插入操作

在这里插入图片描述


15、在这里插入图片描述

选C

双链表结点插入操作


栈和队列

1、在这里插入图片描述

选C

模拟选项的出栈方式来判断选项


2、在这里插入图片描述

选C

从n往前数i个数,问数到第i个数是多少

n-i+1 (+1是因为本身也算数)

比如从10数到1,第三个数是10-3+1=8


3、在这里插入图片描述

选D

计算循环队列的元素个数,也就是求队列长度

假设n表示队列最大容量,r表示队尾元素的位置,f表示头元素前一位置,则元素个数为 (n+r-f)%n

4、在这里插入图片描述

选A

保存栈顶元素值并删除栈顶结点:x=top->data; top=top->link;


5、在这里插入图片描述

选A

条件n等于0时停止递进,0到n有n+1个数,所以函数调用次数为n+1次


6、在这里插入图片描述

选D

栈的特性是后进先出


7、在这里插入图片描述

选A

解决缓冲区问题应利用一种先进先出的线性表


8、在这里插入图片描述

选B

e2在e1前出栈,说明栈S至少两个元素;

像e4e3、e6e5这种降序元素组合在下文称作 “以某元素开头的降序组”;

降序组的最大长度为2,所以栈元素最大数量至少为2;

题目中以元素e4开头的降序组 排在 以元素e6开头的降序组之后,所以栈存在元素的最大数量不会增加;

但是如果反过来e6在e4前,最大数量就会增加2;

e1在降序组之后出栈,所以最大数量加1;

至此栈S的元素最大数量为3。


9、在这里插入图片描述

选C

初始栈顶指针top为n+1,故元素从高地址进栈;

top的运算从原先的++变–


10、在这里插入图片描述

选D

表达式求值采用后进先出的线性表,就是栈


11、在这里插入图片描述

选D

当队列中只有一个元素的时候,删除结点需要同时修改头尾指针


12、在这里插入图片描述

选D

循环队列入队操作rear指针的运算语句:rear=(rear+1)%MAXSIZE

数组A[0…m]总共有m+1个元素,所以入队操作为

rear=(rear+1)%(m+1);


13、在这里插入图片描述

选B

循环队列判断队空:rear==front


14、在这里插入图片描述

选C

栈和队列的共同点是 只允许在端点处插入和删除元素


15、在这里插入图片描述

选B

递归算法必要部分包括 终止条件和递归部分


总结

本文主要介绍了15道线性表习题 包括顺序表 、链表 、栈和队列


文章到这结束啦,感谢阅读~

如果文章的论述或代码等出现错误,欢迎前来指正!

如果你觉得文章写的还不错,记得点赞收藏评论三连~ ❤

img

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ardupilot开源代码之Rover上路 - 后续3

Ardupilot开源代码之Rover上路 - 后续3 1. 源由2. 深度配置2.1 编码器2.2 WS2812B LED灯带2.3 4GLTE超视距2.3.1 摄像头2.3.2 QGC OSD虚拟遥控2.3.3 QGC外接JoyStick遥控 2.4 伴机电脑供电 3. 实测效果4. 遗留&后续4.1 设置倒车按钮4.2 MP无法连接ESP82664.3 高精度编码器问…

水泥超低排平台哪家好?

随着环保政策的加强和绿色发展理念的深入人心,水泥行业的超低排放改造已成为行业发展的新趋势。选择一个合适的水泥超低排平台对于确保改造效果和实现企业的可持续发展至关重要。朗观视觉小编将从多个角度出发,为您提供一份综合评估与选择攻略&#xff0…

解释JAVA语言中关于方法的重载

在JAVA语言中,方法的重载指的是在同一个类中可以存在多个同名方法,但它们的参数列表不同。具体来说,重载的方法必须满足以下至少一条条件: 1. 参数个数不同。 2. 参数类型不同。 3. 参数顺序不同。 当调用一个重载方法时,编译器…

C——日常练习题(宏)

题目:写一个宏,可以将一个整数的二进制位的奇数位和偶数位交换。 1.如何交换奇偶位(涉及基础知识位运算) 举例:如1001 奇偶位互换之后是0110;(先搞懂这个简单举例) (1).将奇数位保留&#…

免费撸gpt-4o和各种大模型实用经验分享

项目 Github: https://github.com/MartialBE/one-api 先贴两张图: 说明 免费撸AI大模型,各位可以对照下面我给出的大模型记录表来填,key需要自己去拿,国内都需要手机号验证,如果你不介意。另外我在自己的博客放出免费API给大家…

各位数字和-第13届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第72讲。 各位数字和&#…

使用 MPI 做 3D 带状矩阵的转置

目的:整个大矩阵从 [Nx, Ny, Nz] 转到 [Nz, Nx, Ny] 每个进程的输入:大矩阵的 [Nx / total_proc_num, Ny, Nz] 的部分 每个进程的输出:大矩阵的 [Nz / total_proc_num, Nx, Ny] 的部分 一开始我大概有一个想法,假设两个进程的话…

24款奔驰GLE350升级原厂环视全景360影像 抬头显示HUD

奔驰GLE350原厂360全景影像的清晰度通常取决于车辆的具体型号和年份,以及安装的摄像头和显示屏质量。一般来说,原厂360全景影像系统会提供高清的影像,让驾驶者能够清晰地看到车辆周围的环境,帮助进行停车和转弯等操作抬头显示&…

go学习笔记-从圣经中抄录的接口值的思考

接口值 接口值,由两个部分组成,一个具体的类型和那个类型的值 下面4个语句中,变量w得到了3个不同的值。( 开始和最后的值是相同的) var w io.Writer w os.Stdout w new(bytes.Buffer) w nil var w io.Writer var…

胶原蛋白流失大揭秘:你的肌肤还年轻吗?

🍃当我们谈及胶原蛋白,不少女生眼中都会闪过一丝光芒。为什么呢?因为胶原蛋白是维持我们肌肤弹性、水润的秘密武器啊!但是,随着岁月的流逝,你是否发现自己的肌肤开始变得松弛、无弹性,甚至出现了…

夸夸生肖属鼠的女性朋友

属鼠人一生的命运受到许多因素的影响,包括性格、家庭、教育、环境等。属鼠人性格外向、求知欲强、善解人意、善于结交各种各样的朋友,有丰富的人脉,容易得到他人的帮助和支持。 属鼠的人聪明、机智,他们善于观察,富有…

手把手教学,一站式安装ubuntu及配置服务器

应用背景:实验室刚弄了一台4090的电脑,老师让我们搞成服务器 一、制作ubuntu启动盘 1.1 清华开源影像站下载ubuntu桌面版本Index of /ubuntu-releases/22.04/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 1.2 下载UltralSO软件 https://…

案例分享|Alluxio在自动驾驶模型训练中的应用与部署

分享嘉宾: 杨林三-辉羲智能 关于辉羲智能: 辉羲智能致力打造创新车载智能计算平台,提供高阶智能驾驶芯片、易用开放工具链及全栈自动驾驶解决方案,运用独创性“数据闭环定义芯片”方法学,助力车企构建低成本、大规模和…

Java延时队列取消未支付的订单

一、定义延迟任务类 package com.activity.domain;import java.util.concurrent.Delayed; import java.util.concurrent.TimeUnit;/*** 延迟任务类*/ public class DelayedCancellation implements Delayed {private String order;private final long delayTime; // 延迟时间p…

Ansible自动化运维中的Setup收集模块应用详解

作者主页:点击! Ansible专栏:点击! 创作时间:2024年5月22日13点14分 💯趣站推荐💯 前些天发现了一个巨牛的🤖人工智能学习网站,通俗易懂,风趣幽默&#xf…

捕食者优化算法,原理详解,MATLAB代码免费获取

捕食者优化算法(Hunter–prey optimization,HPO)是一种受自然启发的群智能优化算法。该算法的灵感来自于捕食动物(如狮子、豹和狼)以及猎物(如雄鹿和瞪羚)的行为。动物狩猎行为有很多场景,其中一些场景已经转化为优化算法。本文使…

数据结构篇其三---链表分类和双向链表

​ 前言 数据结构篇其二实现了一个简单的单链表,链表的概念,单链表具体实现已经说明,如下: 单链表 事实上,前面的单链表本质上是无头单向不循环链表。此篇说明的双向链表可以说完全反过来了了。无论是之前的单链表还…

Arthas反编译与重新加载class

一、背景 因为其他研发部门同事给的产品jar包存在一个问题,就是http底层的超时时间默认为60s,但是最近调用外部接口同步数据,这个数据量太大导致超时超过60s,每次同步都不成功。但是客户目前对此情况特别不满意,需要紧…

将电脑D盘部分空间划分给C盘的方法

本文介绍在Windows电脑中,将D盘的部分空间分给C盘的方法。 最近,发现电脑中C盘的空间剩余不多了;而D盘由于当初分盘时划分的空间过多,导致其剩余空间很大且大概率以后都不会用上D盘中这些多余的空间了。因此,希望将D盘…

使用Word表格数据快速创建图表

实例需求:Word的表格如下所示,标题行有合并单元格。 现在需要根据上述表格数据,在Word中创建如下柱图。如果数据在Excel之中,那么创建这个图并不复杂,但是Word中就没用那么简单了,虽然Word中可以插入图表&a…