我正在寻找一种针对范围查询和空间使用进行了高度优化的字符串 (UTF-8) 索引数据结构。谢谢!
详细说明: 我有需要索引的任意长度的 utf-8 字符串列表。我将只使用范围查询。
例子: 我有字符串 - 苹果、猿、黑色、凉爽、深色。
查询将是这样的——“按降序获取 2 到 3 个元素”或“获取以 'ap' 开头的字符串”
最佳答案
既然你提到了“相对静态”,一个简单的排序数组就可以做你想做的一切,并且在空间和时间方面都得到了高度优化。
“按降序顺序获取 2 到 3 个元素”只是查找相应的数组索引。
“获取以‘ap’开头的字符串”可以通过二分查找来完成。搜索将在第一个以“ap”开头的字符串处或之前停止,从那里开始,您只需扫描直到找到所有此类字符串。
关于c++ - 字符串索引的数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3903664/