数据结构学习笔记:(三)栈和队列

1、栈和队列是受限制的线性表,所以也是A1开始的
2、共享栈,栈底不变,整个空间满了,才会发生上溢(降低上溢的可能性)
3、链栈,在链头处添加删除
4、n个元素进栈,出栈序列种类为
5、队列,可能会出现上溢出,就是对头指针经过删除之后和对尾指针一起指向顺序结构的最后一个空间。
6、循环队列来解决上溢问题,循环队列可以想象为一个圆环,实际上还是一个顺序结构。需要通过%MaxNum来实现定位。同时还需要区分队空和堆满的情况。因为这时候头指针和尾指针都是相同的。
(1)通过闲置一个空间,这时候队满就有尾+1%max =头
(2)设置属性记录对内元素个数,等于max时候,队满
(3)设置队满标志位
7、对应链式队列,删除元素时,如果只有一个元素时候,头尾指针都要修改。
8、队列题中容易设置队中只有一个元素,对头和对尾关系的问题。
9、栈的运用
(1)括号匹配
(2)表达式运算,做题时候可以构建出运算树,然后根据中序和后序遍历对应的中后缀运算。其中中缀运算是包含括号的。
(3)将递归问题拆分为非递归问题
10、队列的应用,层次遍历,缓存区顺序打印问题
11、递归中可能包含很多重复运算,所以效率没有非递归高,但是代码简洁
12、数组是在线性表的定义基础上规定,必须最少有一个元素。
13、特殊矩阵的压缩存储(对称矩阵,三角矩阵,三对角矩阵,稀疏矩阵)
下面计算公式,都是从下标1开始,而不是0

(1)对称矩阵计算公式(仅需n(n+1)/2个空间 ,比三角矩阵少一个存储常量的)
(2)上三角矩阵

(3)下三角矩阵

(4)三对角矩阵,中心的3条对角线的区域,其他区域的元素都为零。

使用行优先的形式存储

(5)疏矩阵的三元组既可以采用数组存储,也可以采用十字链表法存储。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贝多芬也爱敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值