一、介绍
堆是一棵完全二叉树。堆又分为大堆,小堆两种结构。
大堆:所有的父节点都比它的子节点要大。
小堆:所有的父节点都比它的子节点要小。
二、堆的向上调整算法
比如要建一个小堆
思路:将父节点和子节点比较,若父节点>子节点,将两者交换,再找下一个父节点,继续比较新的父节点和子节点,直到父节点<子节点,停止比较。
三、堆的向下调整算法
还是以建小堆为例
堆是一棵完全二叉树。堆又分为大堆,小堆两种结构。
大堆:所有的父节点都比它的子节点要大。
小堆:所有的父节点都比它的子节点要小。
比如要建一个小堆
思路:将父节点和子节点比较,若父节点>子节点,将两者交换,再找下一个父节点,继续比较新的父节点和子节点,直到父节点<子节点,停止比较。
还是以建小堆为例