【发布时间】:2015-04-30 09:06:30
【问题描述】:
我正在寻找 c++ 中的数据结构,我需要一个建议。
我有节点,每个节点都有 unique_id 和 group_id:
1 1.1.1.1
2 1.1.1.2
3 1.1.1.3
4 1.1.2.1
5 1.1.2.2
6 1.1.2.3
7 2.1.1.1
8 2.1.1.2
我需要一个数据结构来回答这些问题:
- 节点 4 的 group_id 是什么
- 给我属于组 1.1.1 的 unique_id 的列表(可能是向量)
- 给我属于组 1.1 的 unique_id 的列表(可能是向量)
- 给我属于第 1 组的 unique_id 的列表(可能是向量)
是否有可以回答这些问题的数据结构(插入和回答的复杂时间是多少)?还是我应该实现它?
我会很感激一个例子。
编辑:
一开始,我需要构建这个数据结构。大部分操作是按组 ID 读取。插入会发生,但会少于读取。
时间复杂度比内存空间更重要
【问题讨论】:
-
我们在这里谈论多少对象,这是以某种方式标记的数据库,这意味着该结构不适合内存?
-
hmm 不超过 500 个节点。它应该适合内存
-
相关:stackoverflow.com/questions/13721522/… 真的你应该首先使用向量,除非你发现它很慢,这意味着分析。那我推荐一张地图
标签: c++ data-structures