二叉堆

https://zh.visualgo.net/heap

二叉堆例程
二叉堆(一)之 图文解析 和 C语言的实现 - 如果天空不死

二叉堆是一种特殊的堆,二叉堆是完全二元树(二叉树)或者是近似完全二元树(二叉树)。二叉堆有两种:最大堆和最小堆。最大堆:父结点的键值总是大于或等于任何一个子节点的键值;最小堆:父结点的键值总是小于或等于任何一个子节点的键值。

堆的定义

堆(heap),这里所说的堆是数据结构中的堆,而不是内存模型中的堆。堆通常是一个可以被看做一棵树,它满足下列性质:
[ 性质一 ] 堆中任意节点的值总是不大于(不小于)其子节点的值;
[ 性质二 ] 堆总是一棵完全树。
将任意节点不大于其子节点的堆叫做 最小堆 或 小根堆 ,而将任意节点不小于其子节点的堆叫做 最大堆 或 大根堆 。常见的堆有二叉堆、左倾堆、斜堆、二项堆、斐波那契堆等等。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 二叉堆定义 二叉堆是一种特殊的堆, 二叉堆是完全二叉树或者近似完全二叉树. 二叉堆满足堆特性: 父节点的键值总是保...
    爱吃鱼的KK阅读 899评论 0 2
  • 1.什么是二叉堆 二叉堆是一种特殊的堆,二叉堆是完全二元树(二叉树)或者是近似完全二元树(二叉树)。二叉堆有两种:...
    RavenX阅读 2,250评论 0 3
  • 我们有意调整了排序的顺序,最后讲这个堆排序。不是因为它很难,而是它涉及到了基本的数据结构知识。 堆,又名“优先队列...
    吃个小烧饼阅读 404评论 0 3
  • 介绍 在以往工作或者面试的时候常会碰到一个问题,如何实现海量TopN,就是在一个非常大的结果集里面快速找到最大的前...
    简单方式阅读 4,406评论 6 48
  • 二叉堆是优先队列很普遍的一种实现,它又分为最小堆最大堆,最小堆和最大堆都是完全二叉树。其结构体定义如下: 二叉堆的...
    KardelShaw阅读 712评论 0 0