优先队列 二叉堆 概念

1.优先队列 相比普通队列,其执行顺序先按优先级再按插入顺序。支持至少两种基本操作 插入 及 删除最小。

2.二叉堆 优先队列的一种实现,是一颗除最下层外被完全填满的二叉树。底层结构可用数组表示。树的元素应能比较大小。最小的在根部

3.堆序 二叉堆的节点需满足:节点的数值大于等于父节点的数值。

4.优先队列 典型场景即 操作系统对进程的调度

5.java中的优先队列实现类是PriorityQueue<E>

6.左式堆 一种能很好支持合并操作的堆。左儿子的零路径长大于等于右儿子的零路径长。(零路径:到一个缺儿子的点的距离 , null为 -1 )

7.左式堆合并操作 对两个堆p和q,假设p的根大于q的根,则先将p与q的右子树进行合并(递归式的),然后将合并后的子树作为q的右子树,若q的左儿子零路径长小于右儿子,则交换q的左右儿子即可

8.二项队列,由二项树构成的集合,二项树的结点数为2的幂,结点大小规则与堆一致;二项队列中,每个2的幂只能有一个二项树;二项树的结点需要两个指向,一个指向下一个二项树,一个指向自己的第一个儿子。

posted @ 2022-08-20 15:07  向金华  阅读(34)  评论(0)    收藏  举报