类似地图的容器

时间:2011-10-24 00:56:30

标签: c++ data-structures

我需要一个特殊容器,它类似于两种类型的多重映射:T1T2:容器中的每个“行”都包含T1T2。我需要的要求是:

  1. 在multimap中快速插入行(T1T2),O(log n)即可。
  2. 快速查询多图中包含T1,O(log n)的所有行即可。
  3. 根据多地图中的T1T2,O(k * log n)快速删除一行,这是不好的。
  4. 在Boost或SGI STL库中是否有更好的容器满足这些要求? 编辑:
    如果它对任何人有帮助,则T1enumT2为两对int

1 个答案:

答案 0 :(得分:0)

您考虑使用std::set吗?

将您的元素用作单个复合键:

  • 照常插入和删除。
  • 搜索由lower_boundupper_bound(均为O(log N))的组合覆盖,因为您可以定义对的最小和最大元素。