二叉堆/优先级队列代码实现
原创约 4750 字
前文 二叉堆的原理 介绍了二叉堆的基本性质、API 和常见应用。本文将结合 可视化面板 手把手带你实现一个优先级队列。
我们先实现一个简化版的优先级队列,用来帮你理解二叉堆的核心操作 sink
和 swim
。最后我再用给出一个比较完整的代码实现。
前文 二叉堆的原理 介绍了二叉堆的基本性质、API 和常见应用。本文将结合 可视化面板 手把手带你实现一个优先级队列。
我们先实现一个简化版的优先级队列,用来帮你理解二叉堆的核心操作 sink
和 swim
。最后我再用给出一个比较完整的代码实现。
push/swim
方法插入元素pop/sink
方法删除元素peek
方法查看堆顶元素loading...