最大堆、最小堆分别指堆顶为最大或最小元素的堆,也叫大顶和小顶堆。堆是一种基本的抽象数据类型,一般用二叉树表示并且递归定义,堆顶为树的根,保证树或者子树的根永远比子节点大或者小。优先级队列是堆的一个实例,到底用最大还是最小堆要看实际情况和个人定义。C++的STL里面容器priority_queue实现优先级队列,默认是大顶堆。