在技术访谈中,我被要求实施t9词典。我知道可以使用尝试来完成,但不知道如何去做。有人可以解释一下吗?
注意:请勿将this标记为重复,因为它不包含任何解释。
答案 0 :(得分:0)
1)构建一个trie(将字典中的所有单词添加到其中)
2)最初,当前节点是特里结构的根
3)输入新字符时,您只需通过与该字符对应的边缘从当前节点转到下一个节点(如果无处可去则报告错误)。
4)要获得具有给定前缀的所有(或k
首)可能的单词,您可以直接从当前节点开始遍历第一个搜索顺序(如果您只需要k
个第一个单词,您可以在找到k
字时停止搜索
5)当输入整个单词并开始一个新单词时,再次移到根目录并重复步骤3) - 5)以获取下一个单词。
PS构建trie时,可以标记与单词(不是单词的前缀,但是整个单词)对应的所有节点,以便在遍历时很容易理解是否找到新单词步骤4)中的特里。