数据结构
第三章 栈和队列
author:slightwjq
2021年8月10日
栈
一端插入或删除的数据结构,即先进后出。
数学性质:不同排列个数为卡特兰数,即
1 | c(2n,n)/(n+1) |
共享栈
两个栈共享一个存储空间,可以自顶向中间延伸,可以更有效的利用存储空间。
队列
在一端插入,在另一端删除,先进先出。
双端队列
两端都可以进行插入删除
输入受限的双端队列:只能在一端输入
输出受限的双端队列:只能在一端输出
应用
栈在括号匹配的应用
栈在表达式求值的应用
(联系编译原理)
栈在递归中的应用
缓冲区是队列实现的
特殊矩阵的压缩存储
计算机可以用数组存储矩阵
对称矩阵
只需要存储一半,另一半可以推导
三角矩阵
类似对称矩阵,只是另一半均为0
三对角矩阵
也称带状矩阵,只有对角线及其相邻位置有元素存储。
注意是行优先还是列优先存储。
稀疏矩阵
三元组(行,列,值)
十字链表法:行链表,列链表,指针所指即有元素(三元组)
- 本文作者: 魏静崎
- 本文链接: https://slightwjq.github.io/2023/10/17/数据结构-第三章/
- 版权声明: 该文章来源及最终解释权归作者所有