我想为Android开发一个软键盘,并且已经有了一个自动更正算法,如果输入字符和字典中单词的字符是键盘上的邻居,则根据事实提出建议.这与levenshtein算法结合使用(如果必须用不同的字符替换字符,则检查它们是否是邻居).这就是为什么经常调用此检查的原因.目前,它消耗了50%的自动更正时间.
我目前的做法是一个单独的三层,三层.第一层:第一个字符.第二层:第二个字符:第三层:如果字符是邻居,则保存信息的布尔值.但是我担心特里尼有点矫枉过正?每个孩子的实习生哈希图也会降低它的速度?我应该用自己的charToNumber函数构建一个hashmap吗?
你会怎么做?哪些瓶颈可以避免?每次执行检查时调用Character.toLowerCase()似乎都是低效的.
我希望你能帮助我加快任务:)