小编mar*_*mar的帖子

为什么std :: priority_queue使用最大堆而不是最小堆?

我一直想知道为什么STL优先级队列默认使用最大堆而不是最小堆。想到的两个明显的用例是寻路(Dijkstra)和构建霍夫曼代码。两种算法都需要先提取最小元素。由于排序(std :: sort)默认情况下使用升序,因此我想知道priority_queue背后的设计原因是什么,因为默认情况下我非常喜欢最小堆。

c++ stl priority-queue

5
推荐指数
2
解决办法
1101
查看次数

标签 统计

c++ ×1

priority-queue ×1

stl ×1