假设我有string->索引数据对,例如
"hello" -> 0
"best" -> 1
"nice" -> 2
"beautiful" -> 3
现在,对于我的流程,我希望对字符串进行对数搜索,因此很明显将此数据放入std::map
。但是,在某些方面,我希望通过索引(如上所述)返回我的数据,但没有o(N ^ 2)复杂度。我怎么能这样做,助推可以帮助吗? std::map
对第二个要求没用。如何处理此数据而不使用N依赖内存。 (N是地图中元素的数量。)
答案 0 :(得分:3)
您需要使用boost::bimap
。查看文档here。
答案 1 :(得分:0)
如果我理解正确,你可以使用两张地图。一个string to index
和其他index to string
。