堆数据结构
最近的文章Heap !
堆是一种特殊的基于树的数据结构,其中的树是一个完整的二叉树。通常,堆可以有两种类型:
- Max-Heap:在Max-Heap中,根节点的键必须是所有子节点中最大的键。对于该二叉树中的所有子树,同样的属性必须递归为真。
- 最小堆:在Min-Heap中,根节点的键必须是所有子节点中键的最小值。对于该二叉树中的所有子树,同样的属性必须递归为真。
关于堆的流行文章:
- 二叉堆
- 时间构建堆的复杂性
- 堆数据结构的应用
- 二项堆
- 斐波那契堆
- 左派堆
- K-ary堆
- 堆排序
- 迭代堆排序
- 数组中的第K个元素
- Unsorted Array | Set 1的第K个最小/最大元素
- 排序一个几乎排序的数组/
- 竞赛树(赢家树)和二叉堆
- 检查一个给定的二叉树是否是堆
- 如何检查一个给定的数组表示二叉堆?
- 以最小成本连接n根绳索
- 为给定的操作设计一个有效的数据结构
- 合并k个排序数组|集合1
- 用于范围顺序统计的归并排序树
- 对存储在不同机器上的数字进行排序
- 最小的序列混乱
- 一个序列的最大混乱
- 两个数组的K个最大和组合
- 去掉k个元素后最大的不同元素
- m个元素的两个子集之间的最大差值
- 一个有N个节点的完全二叉树(或堆)的高度
- 堆排序的降序使用最小堆
- 打印最小堆中小于x值的所有节点。
- 使用STL计算运行整数流的中位数
- 一个流中最大的三联体乘积
- 找出在给定数组中出现次数最多的k个数
- 转换BST为最小堆
- 合并两个二进制最大堆
- 第k个最大和连续子数组
- 一个正整数数组中k个整数的最小积
- 二叉堆数据结构中的叶起点
- 为什么二叉堆优先于BST优先队列?
- 将最小堆转换为最大堆
- 给定二叉树的层次顺序遍历,检查树是否是最小堆
- 重新排列字符串中的字符,使两个相邻的字符不相同
- 二项堆的实现
- 二叉堆的数组表示
- 第k1 '和第k2 '之间的所有元素的和
- 由数组的数字组成的两个数字的最小和
- 一个流中的第K个元素
- 数组|中的k个最大(或最小)元素添加了最小堆方法
- 整数流中的中间值(运行的整数)
- 对接近排序(或K排序)的数组排序
Misc:
- 为什么二叉堆优先于BST优先队列?
- Heap in c++ STL | make_heap(), push_heap(), pop_heap(), sort_heap(), is_heap, is_heap_until()
- Python中的堆(使用Heapq模块)
- 堆排序实际上在哪里使用?
如果你发现任何不正确的地方,或者你想分享关于上面讨论的话题的更多信息,请写评论。