Java队列数据结构

队列

队列(queue)是一种采用先进先出(FIFO)策略的抽象数据结构,它的想法来自于生活中排队的策略。顾客在付款结账的时候,按照到来的先后顺序排队结账,先来的顾客先结账,后来的顾客后结账。
它的特点是一种只允许在一端进行插入,在另一端进行删除的线性表结构。运行插入的一端叫队尾(rear),允许删除的一端叫队头(font)。与LIFO 的栈不同,队列是一种FIFO表。

优先级队列PriorityQueue

逻辑上使用堆结构(完全二叉树)实现,物理上使用动态数组实现,并非像TreeMap一样完全有序,但是如果按照指定方式出队,结果可以是有序的。

满二叉树:树中除了叶子节点,每个节点都有两个子节点

完全二叉树:在满足满二叉树的性质后,最后一层的叶子节点均需在最左边。判断是否完全二叉树可以参考:除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺少右边的若干结点。

参考资料
1.堆结构的优秀实现类----PriorityQueue优先队列https://blog.youkuaiyun.com/qq_35326718/article/details/72866180

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值