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

深入解析:《考研408数据结构》第三章(3.1 栈)复习笔记

前提提要:

基于数据结构我个人大一学过,而且我也一直认为是408里最容易的,故而我一直拖到很晚才开,视频也没看,直接加速用【思维导图】+【例题】极限回顾复习,因此我也默认大部分人都是很早就学完了数据结构,所以该数据结构系列笔记只适用于非初学者的框架回顾复习,不再解释简单知识点概念。

【另外关于:栈】

通过网上许多大佬、博主都总结了,【栈】和【队列】出的代码题本来就少能够说就没有,那么代码理解这块我将不再深究,反正知道逻辑会做【选择题】应该就够了

一、栈的基本概念

思维导图(放大保存可打印)

稍微讲解

大家都会我就不说什么了,如何定义说白了就是————【只允许在一端插入、删除的线性表】

然后【和线性表的进一步对比的概念】需要知道:

  • 逻辑结构:与普通线性表一样(不都那三个特点是【同类型素材】【有限元素】【有序序列】)
  • 数据的运算:插入、删除不同
  • 有 “顺序存储” 和 “链式存储”)就是(存储结构:需要具体分析,源于他和线性表一样都

这玩意也不用背,看单词四级翻译就完事,好像考试也不考,只是我们写代码习惯而已

【卡特兰数,背】

当N个元素进栈后,他们【出栈的顺序】的【排列可能】有:【F(n)种】

  • 而【F(n)】的公式如下,如题解释看下面例题

【出栈顺序推算】

例子

【共享栈】

两个栈合起来,依旧从各自的栈顶进入元素就是共享栈就

  • 相比之前分离的两个栈,共享栈可以充分利用空间,原来的分离栈,其中一个满了并不会利用另一个栈空余的空间,而是自己另外开辟空间
  • 于是共享栈的优点就是:
    • 【防止上溢】,【节省空间】

例题

二、【顺序栈:顺序存储】

思维导图(放大保存可打印)

【初始化】

不过注意一点,大一、王道视频里,学【栈】的时候大家都是把栈当成一个“木桶”,数据从上往下存;但是这里是考研408,严谨的计算机组成原理知识点学过,我们的内存地址是从高到低——地址低位到地址高位,数据都是从上往下存放的,所以实际涉及计算机原理的时候大家记得要转变观念

【插入】

记住顺序,因为只有一个索引标记【top】,而且【top】始终标记着栈顶,所以:

  1. 【新元素即将要插入的位置】就是一定要先让【top】指针往后移一位,也就
  2. 之后再让新元素插入到S.data[S.top]的位置
  3. 通过这两句还能够简写成【S.data[++S.top] = x】,但是留意【++a】和【a++】的区别,前者是先让a+1再执行别的流程、后者是先执行别的流程结果猜a+1
  4. 最后留意一下栈满了就不要再入栈,栈顶索引标记【top】到了最后一个元素位置【最大长度MaxSize-1】就应该知道满了
    1. 而且要在【进行插入】操控之前判断

【删除】

原理一样,大家都会我觉得也没必要说,注意一下【--a】和【a--】就好了

  • 然后还有一个是大家容易遗忘的,C语言选手的习惯都是用含对应类型的返回值的函数把【出栈值】用return x返回
  • C++的选手则是用void或者其他返回类型的函数,依据参数【&x】的形式把值【出栈值】带回来
  • 初始化的那个非法位置)————【-1】就应该知道空了就是最后留意一下栈空了就不要再删栈了,栈顶索引标记【top】到了第一个元素前一位(也就
    • 而且要在【进行删除】操作之前判断

例题

三、【链栈:链式存储】(代码逻辑压根就不考)

思维导图

例题

http://www.zskr.cn/news/14885.html

相关文章:

  • 深入解析:[linux仓库]深入解析Linux动态链接与动态库加载:理解背后的原理与技巧
  • AI行业应用:金融、医疗、教育、制造业的落地实践与技术创新 - 实践
  • 2025上海寿衣厂家推荐福孝堂,专注传统工艺与贴心服务
  • 2025上海骨灰盒厂家推荐,福孝堂专业定制与暖心服务口碑之选
  • 深入解析:金融/财务图表的强大可视化引擎——Highcharts Stock
  • 页面 HTTPS 化实战,从证书部署到真机验证的全流程(证书链、重定向、混合内容、抓包排查) - 实践
  • Coze源码分析-资源库-编辑插件-后端源码-核心技术与总结 - 教程
  • SQL:concat函数(连接字符串)
  • 2025 年仿石漆品牌最新推荐排行榜:聚焦真石漆仿石漆,水包砂仿石漆,冠晶石仿石漆,外墙仿石漆,多彩仿石漆供采购参考
  • 基于Hadoop的美妆产品网络评价的数据采集与分析-django+spider - 指南
  • 如何用pivotby函数实现数据透视(2)
  • 深入解析:ECMAScript 2025 有哪些新特性?
  • @RequestParam 什么时候可以省略?
  • 段页式管理方式
  • *和 内存和地址 实例代码
  • advance 函数
  • Arduino-Yun-物联网指南-全-
  • Code--Blocks-和-C---应用开发-全-
  • 2025 年润滑脂厂家 TOP 企业品牌推荐排行榜,道达尔润滑脂,工业润滑脂,合成润滑脂,高温润滑脂,轴承润滑脂推荐这十家公司!
  • 2025橡胶木板材厂家TOP企业品牌推荐排行榜,泰国橡胶木板材,橡胶木免漆板,橡胶木 PET,橡胶木门板,AA 橡胶木,橡胶木指接板公司推荐!
  • Flutter实现闲鱼底部导航栏中间突出效果
  • VMware ESXi 9.0.1.0 发布 - 领先的裸机 Hypervisor
  • VMware vSphere 9.0.1.0 发布 - 企业级工作负载平台
  • 《索引实战:结构与场景解析》 - 详解
  • 阿里云无影发布首个Agentic Computer形态的个人计算产品 - 详解
  • Hadoop完全分布式配置 - 实践
  • VMware Cloud Foundation Automation 9.0.1.0 发布 - 私有云自动化平台
  • VMware Cloud Foundation Operations 9.0.1.0 发布 - 私有云运维管理
  • 2025 年充电桩厂家TOP企业品牌推荐排行榜,汽车、电车、智能、重卡、电动车直流、新能源车、大功率、一体式双枪、双枪直流、通用快充充电桩公司推荐!
  • 5、论文-项目采购管理