堆的定义、使用数组实现堆的建立、调整、删除和插入、堆排序

堆的定义 堆是一棵彻底二叉树,而且树中的每个结点的值都不小于(或者不大于)其左右孩子结点的值。分为两种:大顶堆:父亲结点的值不小于(大于或者等于)其左右孩子结点的值。小顶堆:父亲结点的值不大于(小于或者大于)其左右孩子结点的值。堆通常借助于优先队列来实现(前面已经写过了优先队列的文章),今天咱们将会以数组实现大顶堆为例。 1. 首先实现向下调整函数: 老是将结点x和它的左右孩子(若是存在的话)进行
相关文章
相关标签/搜索