-1
数据结构,如果一个词在谷歌输入,它会显示为一个下拉列表的建议单词的列表。句子完成建议
例如,如果输入what
,它将以8个字显示what is your name
,what is your father's name
,what is your college name
等。
什么是合适的数据结构,以及列出这些建议最好的办法?
数据结构,如果一个词在谷歌输入,它会显示为一个下拉列表的建议单词的列表。句子完成建议
例如,如果输入what
,它将以8个字显示what is your name
,what is your father's name
,what is your college name
等。
什么是合适的数据结构,以及列出这些建议最好的办法?
我认为最好的方法是使用一个trie其中每个刃根据该下一个字母对应于该边缘,使得第一建议具有较高概率的概率加权。
什么意思是“合适的”和“最好的办法”?只要你的目标没有具体说明,这个问题就不能得到回答。 – 2013-04-23 12:15:53
如果你只处理前缀:可能[trie](http://en.wikipedia.org/wiki/Trie)。可能是一个数据库,你首先为流行的数据库做一个“LIKE”...“%”和“ORDER BY”。 – Dukeling 2013-04-23 12:17:18
东西[这](http://en.wikipedia.org/wiki/Aho%E2%80%93Corasick_string_matching_algorithm)的方式? – 2013-04-23 12:18:33