C++里面的二叉树中优先级队列和最大堆最小堆是什么意思?通俗一点讲谢谢。

2025-01-31 06:36:07
推荐回答(1个)
回答1:

最大堆、最小堆分别指堆顶为最大或最小元素的堆,也叫大顶和小顶堆。堆是一种基本的抽象数据类型,一般用二叉树表示并且递归定义,堆顶为树的根,保证树或者子树的根永远比子节点大或者小。

优先级队列是堆的一个实例,到底用最大还是最小堆要看实际情况和个人定义。C++的STL里面容器priority_queue实现优先级队列,默认是大顶堆。