读书人

关于手机英文输入法算法有关问题

发布时间: 2012-03-22 17:43:57 作者: rapoo

关于手机英文输入法算法问题
今天碰到一个关于手机英文智能输入法算法的问题:
由于手机的按键和资源有限,所以输入英文的时候需要按不同的数字键,当按下键的时候会自动的筛选并列表出可能的单词。如,Good这个词,按4-6-6-3就会出来了。问这其中是用什么算法实现的。可以涉及到单词数据库,如40000单词。但需考虑到手机的内存资源有限。


[解决办法]
按4可以切换数字还是字母。最终还是单词的搜索啊。
单词数据库的搜索 就看建立什么样的数据结构。
[解决办法]
单词全部建立索引在空间上应该是不可行的吧。而且在单词长度比较短的情况下,构建一棵字典树分层索引的时间消耗是极低的,可以考虑利用字典树存储词频。你说的这个问题,很像POJ上面的1451题啊。不过需要考虑实际上的手机时空资源再进行些综合优化。
[解决办法]
4万单词的话用Trie是没问题的。
[解决办法]
用一个二元组<p,q>表示一个单词,比如 <Good,4663>
然后把单词表按 q 排序
对于输入输入的数字串 X 在表中用二分法就可以查到

读书人网 >软件架构设计

热点推荐