二叉堆的基本原理
原创约 2262 字
一句话总结
二叉堆是一种能够动态排序的数据结构,是 二叉树结构 的延伸。
二叉堆的主要操作就两个,sink
(下沉)和 swim
(上浮),用以维护二叉堆的性质。
二叉堆的主要应用有两个,首先是一种很有用的数据结构优先级队列(Priority Queue),第二是一种排序方法堆排序(Heap Sort)。
这个可视化面板直观地展示了二叉堆的基本操作,你可以点击跳转执行其中的代码,或自己修改代码玩一玩:
下面我就结合可视化面板来展示二叉堆的原理,最后以优先级队列为例,展示二叉堆的代码实现。