手機的英文智能輸入法其實很簡單的想法 使用哈希來實現 呵呵
1 2 3
,. abc def
4 5 6
ghi jkl mno
7 8 9
pqrs tuv wxyz
譬如說輸入 43
進入這個哈希里面去尋找
key[43] -> [if] -> [he] -> [id] -> [ie]-> [ge] -> [gf] -> 0
還可以輸入更多的 呵呵。
以此類推,如果是拼音輸入也是一樣,只不過要多進行一次哈希。從拼音哈希到具體的漢字里面去。
不過拼音輸入的狀態機應該更復雜一些。因為拼音輸入可以根據前一個字來推斷可能出現的下一個字。
其實 不只是手機,只要是使用數字鍵盤的機器都可以使用這樣子的輸入法。
使用這種算法的變種還可以實現一個好玩的游戲:就是輸入一個單詞,然后輸出所有與它組成元素相同的單詞(就是輸入stop 它可以輸出tops等單詞)。具體也是使用哈希。哈希真是一個好算法