2013-04-23 38 views
-1

数据结构,如果一个词在谷歌输入,它会显示为一个下拉列表的建议单词的列表。句子完成建议

例如,如果输入what,它将以8个字显示what is your name,what is your father's name,what is your college name等。

什么是合适的数据结构,以及列出这些建议最好的办法?

+2

什么意思是“合适的”和“最好的办法”?只要你的目标没有具体说明,这个问题就不能得到回答。 – 2013-04-23 12:15:53

+0

如果你只处理前缀:可能[trie](http://en.wikipedia.org/wiki/Trie)。可能是一个数据库,你首先为流行的数据库做一个“LIKE”...“%”和“ORDER BY”。 – Dukeling 2013-04-23 12:17:18

+0

东西[这](http://en.wikipedia.org/wiki/Aho%E2%80%93Corasick_string_matching_algorithm)的方式? – 2013-04-23 12:18:33

回答

1

我认为最好的方法是使用一个trie其中每个刃根据该下一个字母对应于该边缘,使得第一建议具有较高概率的概率加权。