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

【408学习】数据结构——线性结构

注:本文为博主学习408相关知识所撰写的学习笔记内容,如有雷同,纯属巧合。

考点1 线性表的基本操作

基本操作顺序表链表静态链表

按位查找

(随机查找)

O(1)

顺序表支持随机访问

O(n)

在链表查找第i个元素只能遍历

O(n)

在链表查找第i个元素只能遍历

按值查找

O(n)

需要一个个遍历元素并与查找元素值对比才能

O(n)

需要一个个遍历元素并与查找元素值对比才能确定是否查找成功

O(n)

需要一个个遍历元素并与查找元素值对比才能确定是否查找成功

插入

O(n)

需要大量移动元素腾出空位如果剩余连续空间不够还需将整个顺序表复制粘贴到一片新的更大的连续空间

O(n)+O(1)

需要遍历来确定插入位置的前驱节点

然后修改指针进行插入

O(n)+O(1)

需要遍历来确定插入位置的前驱节点

然后修改数组进行插入

删除

O(n)

需要大量移动元素覆盖被删元素

O(n)+O(1)

需要遍历来确定删除位置的前驱节点

然后修改指针进行删除

O(n)+O(1)

需要遍历来确定删除位置的前驱节点

然后修改数组进行删除

注:静态链表操作与链表操作类似

典型真题

2023年真题

题目给定,顺序存储的有序表,即顺序表,顺序表中时间复杂度的操作为按位查找,A选项查找操作,时间复杂度为O(n),B选项,插入操作时间复杂度也为O(n),C选项删除操作,时间复杂度也为O(n),D选项为按值查找操作时间复杂度为O(n)。

2016年真题

该题型需要画出示意图,如下图所示

我们可以分析出双链表的删除操作,需要先对p的后继节点的前驱修改为p的前驱节点,再将p的前驱节点的后继节点修改为p的后继节点,删除p节点,即选项D为正确选项。

2021年真题

该题型在上一道题的基础上加强了代码的健壮性,给出节点指针p,为尾指针,q为临时指针,如下图所示。

在链表的删除操作中,我们需要让上一个节点的next指针指向待删除节点的下一个节点,则需要让临时指针q指向当前待删除节点,我们可知现要删除的链表的第一个元素为头节点指向的元素,即h->next节点,则排除A、B选项,C、D选项需要考虑代码健壮性问题,删除的当前节点是否为尾节点,即当删除了该节点之后,只剩头节点的时候,才能让p=h,所以选项D为正确选项。

考点2 栈和队列的基本操作

栈和队列属于受限的线性表,该题型通过画图来模拟进行解答

栈:只允许在一端操作,即后进先出

队列:允许在两端操作,一般为一端进一端出,即先进先出,也有允许两端出的双端队列

典型真题

2020年真题

我们用表格的形式展现出出入栈操作,如下所示(Pop代表已出栈)

e(Pop)
d
c(Pop)
b(Pop)
a

我们可以知道得到的出栈序列为b,c,e即选项D

2011年真题

该题型没有限制出入栈的顺序,只限制了出栈以元素d开头的序列,则需要我们模拟出所以出入栈的情况,元素d需要最先出栈,则在如下表格方式的栈形式,我们可以知道当d出栈之后,a、b、c的出栈情况只能为c、b、a,则e可以出现在该序列的4个空位当中,解出以元素d开头的序列个数有4个,选择D选项。

(NULL)
d
c
b
a

2022年真题

该题中,符号集S可能取任意字母顺序,任意的一个排列给到in或out,现对符号集进行in和out的操作,确定是否能作为一个相匹配的出入栈序列,这里假设符号集序列为a,b,c,d,则若a,b,c,d是in的入栈序列,可以得到的出栈序列可能是a,b,c,d即入栈之后立即出栈,也可能d,c,b,a所有入栈完再依次出栈的序列,则A,B,C选项排除,选择D选项。

2010年真题

该题为队列的基本操作的模拟,我们可以用表格形式展现出队列的入队方式,假设左右两端端入队左端出队,则A选项如下表格所示

edcab

B选项如下表格所示

ecabd

D选项如下表格所示

dabce

选项C由于a入队之后,b不管从左端还是右端入队,都无法得到选项C的出队方式,为不可能得到出队序列

2018年真题

该题中,队列序列如下表所示

654321

则A选项的输出序列,为先进行两次①②③操作,再进行三次①②操作,再进行一次③操作,最后进行一次①②③操作和两次③操作得到结果。

B选项的输出序列,先进行两次①②操作,再进行一次③操作,再一次对4,5,6分别进行一次①②③,最后进行③操作得到结果。

D选项,先进行六次①②操作,再进行六次③操作得到结果,最终不能得到的输出序列为选项C。

2016年真题


待更新

http://www.jsqmd.com/news/730656/

相关文章:

  • 2026年曲轴连杆总成生产厂家靠谱推荐 - mypinpai
  • Dify插件开发实战:基于dify-plugin-sdks构建AI应用扩展工具
  • SVG2与TraSeR:视频场景图技术的突破与应用
  • 绝地求生压枪难题怎么破?罗技鼠标宏5分钟配置指南
  • 网盘下载太慢?试试这个开源工具,轻松获取直链下载地址
  • 建议建立专门的权限控制表实现特定时间访问特定网页功能
  • OneMore插件:让OneNote从普通笔记工具升级为专业生产力平台
  • OneMore:重新定义OneNote生产力,从基础笔记到专业知识管理的进化之路
  • 2026年高考志愿填报服务哪家好,排名来帮你 - 工业品网
  • 残差网络(ResNet)原理与知识表示机制解析
  • YOLO26-seg分割优化:小目标 |新颖的多尺度前馈网络(MSFN)
  • paperxie 本科论文智能写作实测:从选题到终稿,我用它搞定了毕业论文全流程
  • 揭秘番茄小说下载器:5个让你效率翻倍的架构设计创新
  • 2026年论文AI率降不下来?亲测免费降AI率指南,教你降到个位数 - 降AI实验室
  • 基于STM32单片机智能出租车计价器分时计费GPS定位蓝牙设计23-135
  • 大语言模型训练中记忆与泛化的动态平衡研究
  • 2026年想学裱花技术费用 - 工业品网
  • 【flutter for open harmony】第三方库Flutter 鸿蒙版 体重记录 实战指南(适配 1.0.0)✨
  • 第二十天打卡 | 150. 逆波兰表达式求值
  • TWIG框架:视觉生成中的动态文本推理技术
  • CurateClick 2026年4月每周精选:发现、访问与创意AI
  • 告别安卓模拟器:Windows原生APK安装器的技术革命
  • AI工具Awesome List:社区驱动的资源导航与实战选型指南
  • NVIDIA Profile Inspector终极指南:3步解锁显卡隐藏性能的免费神器
  • 多模态提示优化(MPO):提升MLLMs性能的关键技术
  • 基于微信小程序的校园失物招领管理系统【uniapp+springboot+vue】
  • 多模态模型演进与UniT框架实践解析
  • 深度解析残差网络的知识表示与传播机制
  • 将 claude code 编程助手无缝对接至 taotoken 聚合平台
  • 别再死记硬背公式了!用MATLAB手把手复现MSK调制与解调(附完整代码和眼图分析)