认识数据结构之【队列和栈】
认识数据结构之【队列和栈】
认识数据结构系列往期文章:
•认识数据结构之【树】•认识数据结构之【数组】•认识数据结构之【链表】
队列
队列的定义
front
)进行删除操作,而在表的后端(rear
)进行插入操作,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。队列的操作
•入队:在队列中插入一个队列元素称为入队•出队:从队列中删除一个队列元素称为出队
队列的特点
FIFO—first in first out
)的特点。队列的消费限流
一般的限流算法有:
•计数器限流•漏桶算法•令牌桶算法
注:关于各种限流算法后续有文章会单独讲解,请关注须弥零一公众号第一时间获取,此处不再展开。
栈
栈的定义
stack
)又名堆栈,同队列一样,它也是一种运算受限的线性表。栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。栈的操作
•PUSH:从栈顶插入栈元素一般称为进栈、入栈或者压栈。•POP:从栈顶删除栈元素则一般称为退栈、出栈或者弹栈。
栈的特点
FILO—first in last out
)的特点。栈的应用场景
汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
最后
往期文章:
•认识数据结构之【树】•认识数据结构之【数组】•认识数据结构之【链表】
欢迎关注我的公众号“须弥零一”,原创技术文章第一时间推送。
评论