队列
队列(queue)是一种采用先进先出(FIFO)策略的抽象数据结构,它的想法来自于生活中排队的策略。顾客在付款结账的时候,按照到来的先后顺序排队结账,先来的顾客先结账,后来的顾客后结账。
它的特点是一种只允许在一端进行插入,在另一端进行删除的线性表结构。运行插入的一端叫队尾(rear),允许删除的一端叫队头(font)。与LIFO 的栈不同,队列是一种FIFO表。
优先级队列PriorityQueue
逻辑上使用堆结构(完全二叉树)实现,物理上使用动态数组实现,并非像TreeMap一样完全有序,但是如果按照指定方式出队,结果可以是有序的。
满二叉树:树中除了叶子节点,每个节点都有两个子节点
完全二叉树:在满足满二叉树的性质后,最后一层的叶子节点均需在最左边。判断是否完全二叉树可以参考:除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺少右边的若干结点。
参考资料
1.堆结构的优秀实现类----PriorityQueue优先队列https://blog.csdn.net/qq_35326718/article/details/72866180