使用min-heap来存储数据
描述所使用的数据结构
微堆是一个二进制树数据结构,其特征是两个属性:形状属性和堆积属性.形状属性规定二进制树必须始终是一个完整的二进制树.这意味着树的所有层次必须完全填写,除了最后一层,它是从左到右填写的. 堆积属性规定任何父节点的值都小于或等于其子的值. 这意味着树的根节点总是包含最小值. 在微堆中,数据被存储在一个数组中以特定顺序. 数组的第一个元素是二进制树的根,其余元素是树的左到右的每个层次.对于索引 i,它的子i 在索引 2i + 1,而子i 在索引 2i + 2.i / i / i) 索引 i-1.其中一些常见的算法包括在微堆中执行一个快速的填写,更有效的方法,包括在微堆中发现一个新的子元素,并将其最小值调整为最小的子元素.