王道考研-数据结构(三)

栈和队列

只允许在一端进行插入和删除操作的线性表 LIFO

考有什么合法的出栈顺序

顺序实现

用静态数组实现,记录栈顶指针,声明栈时即分配空间

空栈时置top为-1/0,栈的大小不可变

共享栈,666还能这么写

链式实现

带头结点/不带头结点 出栈和进栈都只能在栈顶(链头)一端进行

队列

只允许在一端插入,另一端删除的线性表 FIFO

(rear+1) %n= front时队列满,rear=front时为空(循环队列)

1、牺牲一个空位来记录是否为满 2、牺牲一些内存创建变量来记录长度/记录是否为满

链式实现

注意第一个元素入队和最后一个元素出队的特殊处理

双端队列

允许两端插入/删除的线性表

可以扩展输入受限、输出受限

应用

·验证括号表达式是否正确

·进行前缀/中缀/后缀表达式的的换算 注意中缀表达式计算时,使用运算符和操作数栈同时进行中缀转后缀和后缀换算

·在递归中的应用

队列

·树的层次遍历

·图的广度优先遍历

·操作系统中的应用(FCFS)

矩阵

一维数组 各数组元素大小相同,物理上连续存放

二维数组 行优先/列优先存储

应用在矩阵的压缩存储上

对称矩阵 注意如何转化下标就行

三角矩阵

带状矩阵

稀疏矩阵

压缩三元组<行、列、值>来存储

十字链表 感觉很浪费

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值