数据模型问题

发布于 2024-11-10 04:33:37 字数 340 浏览 3 评论 0原文

假设我有字符串->索引数据对,例如

"hello" -> 0
"best" -> 1
"nice" -> 2
"beautiful" -> 3

现在对于我的流程,我想对字符串进行对数搜索,因此很明显将此数据放入 std::map 中。但是,在某些时候,我希望返回按索引排序的数据(如上面所写),但没有 o(N^2) 复杂性。我该怎么做,boost 可以帮忙吗? std::map 对于第二个要求没有用处。如何在不使用 N 相关内存的情况下处理这些数据。 (N 是映射中元素的数量。)

Say I have string->index pairs of data, e.g.

"hello" -> 0
"best" -> 1
"nice" -> 2
"beautiful" -> 3

Now for my flow I want to have logarithmic search on strings, so it is obvious to place this data into std::map. But, in some point, I want to have back my data ordered by index (as it is written above) but with with no o(N^2) complexity. How I can do that, boost can help? std::map is not useful for the second requirement. How to handle this data without using N - dependent memory. (N is the number of elements in map.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

毁我热情 2024-11-17 04:33:37

您需要使用boost::bimap。请在此处查看文档。

You need to use boost::bimap. Check the documentation here.

谁把谁当真 2024-11-17 04:33:37

如果我理解正确的话,你可以使用两张地图。一个要索引的字符串,另一个要索引的字符串

If I understood correct, you can use two maps. One string to index and other index to string.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文