Binary Heap(二叉堆)是什么?
是什么?
二叉堆是堆数据结构,采用二叉树的形式,二叉堆是实现优先级队列的一个常见方式,二叉堆被J. W. J. Williams在1964年为堆排序提出的一个数据结构。
二叉堆被定义为一个有额外两个约束的二叉树,
其一,形状属性,一个二叉堆是一个完全二叉树(树的所有除了最深的层级都被全部填充,而且如果最深层级是不完整的,那么这一层级上的所有节点是从左向右被填充的。
其二,堆属性,存储在每个节点的值要么不小于节点所有子节点存储的值,要么不大于。
父节点值不小于子节点值称为最大堆(max-heaps),不大于称为最小堆(min-heaps),高效算法(未完待续。。。)
浙公网安备 33010602011771号