• 【数据结构之栈、队列、数组】


    数据结构之栈队列数组


    声明:此为个人笔记,代码一部分来自王道408课程,仅供个人学习使用,如有侵权请联系;如有转载使用,一切后果自行负责与本人无关

    3.1栈

    • 3.1栈

      定义:只允许在一端进行插入或删除操作的线性表

      结构:栈顶(top):线性表允许插入删除的那一端

      栈底(bottom):固定的,不允许插入删除的那一端

      基本操作:初始化initStack、判空stackEmpty、出栈Pop、读栈顶getPop、销毁栈destoryStack

      顺序栈:采用顺序存储的栈为顺序栈,存放自栈底到栈顶的数据元素,附设一个指针(top)指示当前栈的位置。

      栈顶指针:S.top

      栈顶元素:S.data[S.top]

      栈空条件:S.top==-1 栈满条件;S.top==Maxsize-1 栈长:S.top+1

      基本操作:初始化initStack、判空stackEmpty、出栈Pop、读栈顶getPop、销毁栈destoryStack

    3.2队列

    • 3.2队列

      1、基本概念

      定义:只允许在一端插入另一端删除的线性表,先进先出

      队头:允许删除的一端;队尾:允许插入的一端;空队列:不含任何元素的空表

      插入元素叫入队;删除元素叫离队

      队头指针front,队尾指针rear

      基本操作:初始化initQueue、判空QueueEmpty、enQueue入队、deQueue离队、getHead(Q,&x)读队头元素

      2、顺序存储队列

      顺序队列:采用顺序存储的队列为顺序队列,存放数据元素,附设两个指针,

      队头指针front指向队头元素,队尾指针rear指向队尾元素。

      初始条件:Q.frontQ.rear0

      进队操作:队不满时,送至队尾元素,rear指针加一

      出队操作:队不空时,先取出队头元素,front指针加一

      在这里插入图片描述

      循环队列:特殊的顺序存储队列,把元素从逻辑上视为一个环

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

    在这里插入图片描述

    3、链式存储队列

    链队列:同时带头指针和尾指针的单链表。

    可分为带头结点和不带头结点

    当Q.frontnull,Q.rearnull时,链队列为空

    4、双端队列

    双端队列:只允许从双端插入和删除的线性表

    在这里插入图片描述

    例子:

    在这里插入图片描述

    输入受限的

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KzImrY2e-1660792075107)(https://secure2.wostatic.cn/static/n1QjZ1NNrzVKdgbqzmRozT/image.png)]

    输出受限

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9wc8E8s9-1660792075107)(https://secure2.wostatic.cn/static/rM2YnEDhKzs4CddtoUEgCf/image.png)]

    3.3栈和队列的应用

    • 3.3栈和队列的应用

      1、括号匹配

      最后出现的左括号最先匹配(先进先出)
      在这里插入图片描述
      在这里插入图片描述

      实现算法;

      在这里插入图片描述

      2、表达式求值

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

    在这里插入图片描述

    3、递归

    计算正整数的阶乘n!;求斐波那契数列

    函数调度栈可称为递归工作栈,每进一层,将递归调用信息压入栈顶,每出一层递归,从栈顶弹出信息,缺点是太多层递归会导致栈溢出。

    4、队列的应用

    OS中解决多用户引起的资源竞争问题;解决外部设备和主机速度不匹配问题;实现图的广度有限遍历;树的层次遍历

    3.4矩阵

    • 3.4矩阵(不是重点)

      对称矩阵

      三角矩阵

      三对角矩阵

      稀疏矩阵
      在这里插入图片描述

    在这里插入图片描述

    6.25、6.26、6.28

  • 相关阅读:
    再测云原生数据库性能:PolarDB依旧最强,TDSQL-C、GaussDB变化不大
    每天一个注解之@WebService
    Unity 2D项目中关于Sprite的一些性能方面的问题
    springboot+vue实现Minio文件存储
    AbstractDetectingUrlHandlerMapping类的功能简介说明
    POI-TL制作word
    C认证笔记 - 计算机通识 - IP基础
    Python爬取wallhaven的所有4k壁纸图片
    Qt-OpenCV学习笔记--计算周长--arcLength()
    java基本概念(更新中)
  • 原文地址:https://blog.csdn.net/champion564/article/details/126401842