DraculaW

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  19 随笔 :: 0 文章 :: 7 评论 :: 0 Trackbacks
手機的英文智能輸入法其實很簡單的想法 使用哈希來實現 呵呵

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等單詞)。具體也是使用哈希。哈希真是一個好算法
posted on 2007-11-15 20:37 DraculaW 阅读(310) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理