不知道队列有什么用?可视化动图带你一步步讲解

458 阅读1分钟

前言

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

概念介绍

  • 队列:只允许在一端进行插入操作,而在另一端进行删除操作的线性表
  • 队列是一种先进先出(First In First Out)的线性表,简称FIFO
  • 队列中允许插入的一端称为队尾,允许删除的一端称为队头
  • 队列两种存储方式
    • 顺序存储
    • 链式存储
  • 队列的2种操作方式
    • 入队操作
    • 出队操作

原理讲解

我们以[12 8 3 24 21]这个队列为例说明队列的顺序存储的实现原理

  • 在未作任何操作时,效果如下图
    在这里插入图片描述

入队操作

  • 执行入队操作,会从队尾插入一个随机元素66,此时队尾元素为66。效果如下图
    在这里插入图片描述

出队操作

  • 执行出队操作,会从队头删除元素12,此时对头元素为8。效果如下图
    在这里插入图片描述

时间复杂度

  • 队列的入队和出队操作的时间复杂度均为O(1)

队列优缺点

  • 优点:
    • 提供先进先出的存储方式
  • 缺点:
    • 存储其他项都很慢

效果展示

在这里插入图片描述

更多算法学习请关注我的公众号

在这里插入图片描述

说明

  • 在公众号中回复“算法源码”即可获取十大经典算法源码
  • 在公众号中回复“算法书籍”即可获取经典入门算法书籍
  • 在公众号中回复“数据结构”即可获取数据结构相关源码