【发布时间】:2026-01-20 17:40:01
【问题描述】:
我有一组键用作我的应用程序中快速搜索的索引。
目前,我只能搜索完整的字符串,最大的灵活性是如果我可以搜索出现在字符串中任何位置的部分字符串。当然,最简单的做法是遍历列表中的所有字符串并查找子字符串。这可行,但当列表开始增长时可能太慢了。
我读过一些关于基数树的文章,但这只会让我从字符串的开头进行部分匹配,也可能从字符串的结尾进行部分匹配。
我的问题是我应该看什么算法来解决部分匹配的问题(不是在一个大文档中),而是在一个字符串列表中。如果我保留一个排序的字符串列表,这个问题会更容易吗?如果字符串长度相同,我可以看到这会更容易,但对于可变长度字符串,我无法提出合理的方法。
【问题讨论】:
-
在搜索之前对字符串进行排序。
标签: c++ string algorithm search