使用trie实现t9字典

时间:2014-08-19 15:14:14

标签: data-structures trie t9

在技术访谈中,我被要求实施t9词典。我知道可以使用尝试来完成,但不知道如何去做。有人可以解释一下吗?
注意:请勿将this标记为重复,因为它不包含任何解释。

1 个答案:

答案 0 :(得分:0)

1)构建一个trie(将字典中的所有单词添加到其中) 2)最初,当前节点是特里结构的根 3)输入新字符时,您只需通过与该字符对应的边缘从当前节点转到下一个节点(如果无处可去则报告错误)。
4)要获得具有给定前缀的所有(或k首)可能的单词,您可以直接从当前节点开始遍历第一个搜索顺序(如果您只需要k个第一个单词,您可以在找到k字时停止搜索 5)当输入整个单词并开始一个新单词时,再次移到根目录并重复步骤3) - 5)以获取下一个单词。

PS构建trie时,可以标记与单词(不是单词的前缀,但是整个单词)对应的所有节点,以便在遍历时很容易理解是否找到新单词步骤4)中的特里。