Info
新版网站会员open in new window 限时优惠;算法可视化编辑器上线,点击体验open in new window!
二叉堆(Binary Heap)没什么神秘,性质比二叉搜索树 BST 还简单。
其主要操作就两个,sink(下沉)和 swim(上浮),用以维护二叉堆的性质。其主要应用有两个,首先是一种排序方法「堆排序」,第二是一种很有用的数据结构「优先级队列」。
sink
swim
那么本文以实现优先级队列(Priority Queue)为例,来讲讲一下二叉堆怎么运作的。
首先,二叉堆和二叉树有啥关系呢,为什么人们总是把二叉堆画成一棵二叉树?
加载中...