c++ - 字符串索引的数据结构?

标签 c++ algorithm data-structures unicode

我正在寻找一种针对范围查询和空间使用进行了高度优化的字符串 (UTF-8) 索引数据结构。谢谢!

详细说明: 我有需要索引的任意长度的 utf-8 字符串列表。我将只使用范围查询。

例子: 我有字符串 - 苹果、猿、黑色、凉爽、深色。

查询将是这样的——“按降序获取 2 到 3 个元素”或“获取以 'ap' 开头的字符串”

最佳答案

既然你提到了“相对静态”,一个简单的排序数组就可以做你想做的一切,并且在空间和时间方面都得到了高度优化。

“按降序顺序获取 2 到 3 个元素”只是查找相应的数组索引。

“获取以‘ap’开头的字符串”可以通过二分查找来完成。搜索将在第一个以“ap”开头的字符串处或之前停止,从那里开始,您只需扫描直到找到所有此类字符串。

关于c++ - 字符串索引的数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3903664/

相关文章:

c++ - 模板类方法不会导致错误——这是标准的一部分吗?

用于排列数字列表的 Java 代码

c - 将 union 与结构一起使用

c++ - 派生方法被调用而不是 Base

c++ - 动态初始化字符数组

c++ - vector<string> push_back 崩溃

algorithm - 正交形式的密堆积

algorithm - 如何消除二叉搜索树的广度优先排序中的差距?

java - 为什么 HashMap 不能有不同的 NaN 值作为键?

python - 将日志文件解析为其嵌套的开始和结束对的算法/Python