【发布时间】:2014-03-09 19:50:13
【问题描述】:
我们都知道 Google 自动完成功能。键入“an”并获得以“an”开头的可能结果,例如“animal”。你可以想象前缀树(trie)如何很好地解决这个问题。
但是如果你想匹配“在字符串中”而不是“开始于”怎么办?尝试变得低效。
一个糟糕的解决方案是:
- 获得所有可能性循环可能性,
- 只保留那些 inStr(possibility, token)==true
【问题讨论】:
-
一个同时存储部分字符串的前缀树怎么样?前任。在树中添加“lorem”时,还要添加“orem”、“rem”、“em”和“m”,每个都存储对完整字符串的引用。
标签: string algorithm search autocomplete trie