地方文明网站建设方案,网站域名.xin,容城县建设银行网站,小程序介绍怎么写吸引人转载#xff1a;http://blog.csdn.net/hrn1216/article/details/51465270 1.简介 最小堆是一棵完全二叉树#xff0c;非叶子结点的值不大于左孩子和右孩子的值。本文以图解的方式#xff0c;说明 最小堆的构建、插入、删除的过程。搞懂最小堆的相应知识后#xff0c;最大堆…转载http://blog.csdn.net/hrn1216/article/details/51465270 1.简介 最小堆是一棵完全二叉树非叶子结点的值不大于左孩子和右孩子的值。本文以图解的方式说明 最小堆的构建、插入、删除的过程。搞懂最小堆的相应知识后最大堆与此类似。 2.最小堆示例 3.最小堆的构建 初始数组为9,3,7,6,5,1,10,2 按照完全二叉树将数字依次填入。 填入后找到最后一个结点本示例为数字2的节点从它的父节点本示例为数字6的节点 开始调整。根据性质小的数字往上移动至此第1次调整完成。 注意被调整的节点还有子节点的情况需要递归进行调整。 第二次调整是数字6的节点数组下标小1的节点比数字6的下标小1的节点是数字7的节点 用刚才的规则进行调整。以此类推直到调整到根节点。 以下是本示例的图解 注意数字9的节点 将和 数字1的节点 发生对调对调后需要递归进行调整请一定注意。4.最小堆的元素插入 以上个最小堆为例插入数字0。 数字0的节点首先加入到该二叉树最后的一个节点依据最小堆的定义自底向上递归调整。 以下是插入操作的图解 5.最小堆的节点删除 对于最小堆和最大堆而言删除是针对于根节点而言。 对于删除操作将二叉树的最后一个节点替换到根节点然后自顶向下递归调整。 以下是图解