栈与队列的认识

简介: 栈与队列的认识

前言


何为?何为队列先进先出后进先出的区别,本文就跟大家分享下栈与队列这两种数据结构的优缺点以及适用场景,欢迎各位感兴趣的开发者阅读本文。


栈的认识


概念


栈也是一种数据呈线性排列的数据结构,不过在这种结构中,我们只能访问最新添加的数据。


入栈


往栈中添加数据的操作就叫“入栈”,往栈中添加数据时,新数据被放在最上面。


640.png


出栈

从栈中取出数据的操作就叫“出栈”,从栈中取出数据时,会从最新的数据开始取。



640.png


优点


由于栈中存放数据的结构是后放进去的数据先取出来(后进先出),针对一些操作需要取最新数据时,选择栈作为数据结构是最合适的。


缺点


访问栈中的任意数据时,就需要从最新的数据开始取,效率较低。


队列的认识


概念


队列的数据结构与栈的数据结构相同,队列中的数据也是呈线性排列。与栈不同的地方在于:队列中添加和删除数据的操作分别是在两端进行的。


640.png


入队


往队列中添加数据的操作就叫“入队”。


640.png


出队


从队列中删除数据的操作就叫“出队”,从队列中取出(删除)数据时,是从最早入队的数据开始的(先进先出)。


640.png


优点


队列的特点是,最早添加进来的数据,先取出,对于需要获取最早添加的数据时,选择队列作为数据结构,将会大大的提升效率。


缺点


获取最新的数据就需要从最开始入队的数据开始查找,效率较低。


栈与队列的共同点


访问中间数据时,都需要进行取出操作。


写在最后


  • 文中使用的图片源自《我的第一本算法书》,如若侵权,请评论区留言,作者立即删除相关图片。
  • 文中如有错误,欢迎在评论区指正,如果这篇文章帮到了你,欢迎点赞和关注😊
  • 本文首发于掘金,未经许可禁止转载💌


相关文章
|
3天前
栈的基本应用
栈的基本应用
10 3
|
3天前
栈与队列理解
栈与队列理解
9 1
|
3天前
|
存储 算法
数据结构与算法 栈与队列
数据结构与算法 栈与队列
10 0
数据结构与算法 栈与队列
|
4天前
|
C++
数据结构(顺序队列 循环队列
数据结构(顺序队列 循环队列
8 0
|
4天前
|
C++
数据结构(共享栈
数据结构(共享栈
6 0
|
4天前
|
C++
数据结构(顺序栈
数据结构(顺序栈
11 2
|
4天前
|
容器
【栈与队列】栈与队列的相互转换OJ题
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。
10 0
|
4天前
|
存储
【栈】基于顺序表的栈功能实现
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。
12 0
|
5天前
|
存储 程序员
什么是堆,什么是栈
什么是堆,什么是栈
6 0
|
6天前
|
机器学习/深度学习 算法 测试技术
【单调栈】3113. 边界元素是最大值的子数组数目
【单调栈】3113. 边界元素是最大值的子数组数目