王道数据结构复习总结笔记---栈和队列
侧边栏壁纸
  • 累计撰写 40 篇文章
  • 累计收到 134 条评论

王道数据结构复习总结笔记---栈和队列

yjprolus
2022-01-30 / 2 评论 / 6 阅读 / 正在检测是否收录...

3.1栈(stack)

3.1.1栈的基本概念

定义

在这里插入图片描述
在这里插入图片描述

基本操作

在这里插入图片描述
在这里插入图片描述

3.1.2 栈的顺序存储

初始化

在这里插入图片描述

进栈操作

在这里插入图片描述

出栈操作

在这里插入图片描述

读栈顶元素操作

在这里插入图片描述

另一种表示方式(top=0)

在这里插入图片描述

共享栈

在这里插入图片描述

总结

在这里插入图片描述

3.1.3栈的链式存储

进栈(头插法建立单链表)

在这里插入图片描述

出栈(对头结点的“后删”操作)

在这里插入图片描述

链栈的定义

在这里插入图片描述

总结

在这里插入图片描述

3.2队列(Queue)

3.2.1队列的基本概念

定义

队列(Queue)是只允许在一端进行插入,在另一端删除的线性表

在这里插入图片描述

基本操作

在这里插入图片描述

总结

在这里插入图片描述

3.2.2队列的顺序存储结构

初始化

在这里插入图片描述

入队操作(只能作为队尾插入)

在这里插入图片描述

在这里插入图片描述

出队操作

在这里插入图片描述

判断队列满/空的方法

在这里插入图片描述

在这里插入图片描述

3.2.3队列的链式存储结构

初始化(带头结点)

在这里插入图片描述

初始化(不带头结点)

在这里插入图片描述

入队(带头结点)

在这里插入图片描述

入队(不带&带头结点)

在这里插入图片描述

出队(带&不带头结点)

在这里插入图片描述

队满的条件

在这里插入图片描述

总结

在这里插入图片描述

3.2.4双端队列

在这里插入图片描述

考点:判断输出序列合法性

在这里插入图片描述

栈中合法的序列,双端队列中一定也合法

总结

在这里插入图片描述

3.3栈的应用

3.3.1栈在括号匹配中的应用

原理:遇到左括号就入栈;遇到右括号,就 “消耗”一个左括号。
在这里插入图片描述

流程图

在这里插入图片描述

代码

在这里插入图片描述

总结

在这里插入图片描述

3.3.2栈在表达式求值中的应用

在这里插入图片描述

中缀表达式转后缀表达式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

中缀表达式转前缀表达式

在这里插入图片描述
在这里插入图片描述

算法思想

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

中缀表达式的计算(用栈实现)

在这里插入图片描述

总结

在这里插入图片描述
在这里插入图片描述

3.3.3栈在递归中的应用

函数调用背后的过程

在这里插入图片描述

栈在递归中的应用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

3.4特殊矩阵的压缩存储

数组的存储结构

在这里插入图片描述
在这里插入图片描述

  • M行N列的二维数组 bM 中,若按行优先存储,则bi 的存储地址 = LOC + (i N + j) sizeof(ElemType);
  • M行N列的二维数组 bM 中,若按列优先存储,则bi 的存储地址 = LOC + ( j M+ i ) sizeof(ElemType)

普通矩阵的存储

描述矩阵元素时,行、列号通常从 1 开始;而描述数组时通常下标从0开始(注意审题)
在这里插入图片描述

对称矩阵的压缩存储

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三角矩阵的压缩存储

在这里插入图片描述
在这里插入图片描述

稀疏矩阵的压缩存储

在这里插入图片描述

总结

在这里插入图片描述

3.5队列的应用

树的层次遍历

在这里插入图片描述

图的广度优先遍历

在这里插入图片描述

队列在操作系统中的应用

在这里插入图片描述

0

评论 (2)

取消
  1. 头像
    虾仁不眨眼
    Windows 7 · FireFox

    看起来不错哦

    回复
  2. 头像
    带小饼干给你
    Windows 8 · FireFox

    支持支持

    回复