我想以树格式存储数据:
A
|
---------------------
| | |
B1 B2 ...
| |
------ -------
| | | | |
C1 C2 C3 ...
A和B1,... Bn和C1,... Cn属于std::string
类型。元素没有必要排序(但也不会受到伤害)。树的最大深度为3.插入操作的数量很可能与搜索操作相同。如果我搜索我想要复杂如果字符串B1与C1 als child的组合包含在树中(可能还有B&C和C&C的其他组合)。
我想知道我是否应该在地图中使用地图
std::map<std::string,std::map<std::string, std::set<std::string>> myTree;
为此目的或者树(如here)对工作更好。我的第一印象是,在地图内搜索会更容易,因为我可以直接访问密钥。引用提到的树实现,我必须实现&#34;字符串&#34;我自己在树上搜索 - 将子节点作为数组取出并迭代这些值(然后再遍历找到的字符串的子节点)。使用树会提供更好的性能还是可维护性?