【发布时间】:2011-09-21 06:17:11
【问题描述】:
我已经构建了一个以向量为键的地图:map<vector<KeyT>, T>,我现在正在尝试对其进行优化。
手动嵌套映射map<vector<KeyT>, map<KeyT,T> > 的实验,其中第一个键是原始向量减去最后一个元素,第二个键是最后一个元素,显示了合理的加速。
现在我想知道是否存在关联容器的半标准实现(如 boost 或类似),其中向量键被实现为容器的这种层次结构。
理想情况下,这将创建与关键向量中的元素一样多的层,同时为不同长度的向量保持统一的语法。
【问题讨论】:
-
使用 hash_map 可以提高访问性能
-
请解释一件事,向量是如何成为键的?看起来相当复杂的逻辑。
-
Trie 会匹配您想要实现的目标吗? (en.wikipedia.org/wiki/Trie, stackoverflow.com/questions/1036504/trie-implementation)
-
@Alan Stokes,没错。我知道必须有一个词来形容它。
-
@DumbCoder:我想将 n-gram 与概率相关联。如果您知道任何更好的方法来做到这一点,请告诉我。 n-gram 不是由字符串组成,而是由自定义类组成,因为它们不代表单词。到目前为止,该类定义了 operator