【发布时间】:2011-04-13 07:20:17
【问题描述】:
我有一大组 (100k) 短字符串(不超过 100 个字符),我需要快速找到所有具有特定子字符串的人。
这将用作用户开始输入的搜索框,系统会立即给出“建议”(以用户输入的文本作为子字符串的字符串)。类似于 StackOverflow 中的“标签”框。
因为这将是交互式的,所以应该很快。您为此推荐什么算法或数据结构?
顺便说一句,我将使用 Delphi 2007。
提前致谢。
【问题讨论】:
-
感谢所有回复。我查看了 Mike 建议的后缀树。但是,考虑到我的时间限制和缺乏现有的实现,我将首先使用更简单的东西:Oren 建议的 Boyer-moore。
-
我刚刚尝试了 Boyer-Moore-Horspool(感谢 Oren 和 François),它比我预期的要快得多。对我的目的来说绰绰有余。
标签: algorithm delphi string data-structures substring