最小堆

PriorityQueue源码分析

techzealot
本质是一个最小二叉堆,底层使用数组进行存储 使用到的二叉堆性质:(n为二叉堆节点个数,数组从索引0开始存储,从上到下从左到右从0开始依次编号) 节点i若有左右孩子,则左孩子索引为(i«1)+1,右孩子索引为(i«1)+2 第一个叶子结点的索引为size»1,最后一个非叶子节点索引为(size»1)-1 节点i的父节点为(i-1)»1,若(i«1)+1 >=size(无左孩子)则该节点一定为叶子结点 叶子结点在数组后半段且从第一个叶子结点开始后续全都是叶子结点 初始化注意事项: