堆(Heap)
堆(Heap)本质上是一种特殊的树状数据结构,通常用完全二叉树来实现。它的主要特点是满足“堆属性”: * 大顶堆 (Max-Heap): 任何一个父节点的值都大于或等于它的所有子节点的值。这意味着,堆的根节点(顶部)存放的是整个堆中的最大值。 * 小顶堆 (Min-Heap): 任何一个父节点的值都小于或等于它的所有子节点的值。这意味着,堆的根节点(顶部)存放的是整个堆中的最小值。 C++中的实现 (std::priority_queue) std::priority_queue 默认实现的是一个大顶堆。 * int: 存储的元素类型。 * std::vector<int>: 实现堆所用的底层容器,vector是默认且最常用的选项。 * std::greater<int>: 比较函数。默认是std::less<int>(产生大顶堆)…