Boost C++ 库

...世界上最受推崇和精心设计的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ 编码标准

PrevUpHomeNext

第15章。Boost.Heap

Tim Blechmann

根据 Boost 软件许可协议 1.0 版分发。(请参阅随附的 LICENSE_1_0.txt 文件或访问 https://boost.ac.cn/LICENSE_1_0.txt

目录

简介 & 动机
概念 & 接口
基本优先级队列接口
优先级队列迭代器
比较优先级队列 & 等价性
合并优先级队列
可变性
稳定性
数据结构
数据结构配置
参考
头文件 <boost/heap/binomial_heap.hpp>
头文件 <boost/heap/d_ary_heap.hpp>
头文件 <boost/heap/fibonacci_heap.hpp>
头文件 <boost/heap/heap_concepts.hpp>
头文件 <boost/heap/heap_merge.hpp>
头文件 <boost/heap/pairing_heap.hpp>
头文件 <boost/heap/policies.hpp>
头文件 <boost/heap/priority_queue.hpp>
头文件 <boost/heap/skew_heap.hpp>
致谢

boost.heap 是优先级队列的实现。优先级队列是一种队列数据结构,它根据优先级对元素进行排序。STL 提供了一个单一的模板类 std::priority_queue,它仅提供有限的功能。为了克服这些限制,boost.heap 实现了具有更多功能和不同性能特征的数据结构。特别是,它处理了以下额外的方面:

  • 可变性:可以修改堆元素的优先级。
  • 迭代器:堆提供迭代器来迭代所有元素。
  • 可合并:虽然所有堆都可以合并,但有些可以高效地合并。
  • 稳定性:堆可以配置为稳定排序。
  • 比较:可以比较堆是否等价。

PrevUpHomeNext