【发布时间】:2013-01-17 22:19:36
【问题描述】:
我正在寻找针对快速查找优化的std::map-esque 数据结构。
一种方法是使用已排序的std::vector 作为底层存储来实现地图的接口 - 由于随机访问迭代器和缓存位置,这将提供快速的binary_search。
但是,这听起来像是对轮子的重新发明。这样的东西肯定已经存在了吗?
是否有使用 std::vector 进行存储的开源有序关联数据结构?
编辑:
响应 cmets 的建议只需使用 std::map - 请在此处阅读:http://lafstern.org/matt/col1.pdf
【问题讨论】:
-
地图具有快速查找功能。你希望它快多少?!
-
您可能正在寻找来自 Boost.Containers 的 Boost 的“平面地图”。
-
std::map有什么问题?它非常std::map-esque,并且针对胖查找进行了优化。 -
@JesseGood:
unordered_map很奇怪,它不是一个 ordered 关联数据结构......看图。 :P -
Kerrek 建议您查看boost::flat_map。