堆及其应用
堆是一个完全二叉树,分为大顶堆和小顶堆。大顶堆每一个节点的值都必须大于等于其子树中每个节点的值,小顶堆正好相反
既然堆是完全二叉树,那么就可以通过数组来构建堆,父节点下标为i/2,左子节点i×2,右子节点i×2+1实现快速定位。
插入调整
记住四个字:自下而上,下图是插入22的流程图:
版权声明:本文为Ivan_zcy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
堆是一个完全二叉树,分为大顶堆和小顶堆。大顶堆每一个节点的值都必须大于等于其子树中每个节点的值,小顶堆正好相反
既然堆是完全二叉树,那么就可以通过数组来构建堆,父节点下标为i/2,左子节点i×2,右子节点i×2+1实现快速定位。
记住四个字:自下而上,下图是插入22的流程图: