Binary Heap(二叉堆)是什么?

是什么?

二叉堆是堆数据结构,采用二叉树的形式,二叉堆是实现优先级队列的一个常见方式,二叉堆被J. W. J. Williams在1964年为堆排序提出的一个数据结构。

二叉堆被定义为一个有额外两个约束的二叉树,

  其一,形状属性,一个二叉堆是一个完全二叉树(树的所有除了最深的层级都被全部填充,而且如果最深层级是不完整的,那么这一层级上的所有节点是从左向右被填充的。

  其二,堆属性,存储在每个节点的值要么不小于节点所有子节点存储的值,要么不大于。

父节点值不小于子节点值称为最大堆(max-heaps),不大于称为最小堆(min-heaps),高效算法(未完待续。。。)

posted @ 2020-08-15 22:22  MatrixRuler  阅读(249)  评论(0)    收藏  举报