我即将创建一个“智能”字典,如果用户的单词不在字典中,它可以生成相似的单词。
字典从读取带有单词的文件开始,单词应该添加到二叉树和哈希表中。哈希表用于判断词或相似词是否在字典中,哈希表会产生布尔效应,因此我们可以快速查看二叉搜索树是否包含该词。哈希表必须是我们字典长度的十倍左右,因为我们还包括与哈希表相似的单词。作为 Java 的新手,我想了解如何制作适合我情况的散列函数的提示和建议。
public String [] similarOne(String word) {
char [] word_array = word.toCharArray();
char [] tmp;
String [] words = new String[word_array.length-1];
for(int i = 0; i < word_array.length - 1; i++) {
tmp = word_array.clone();
words[i] = swap(i, i+1, tmp);
}
return words;
}
public String swap(int a, int b, char [] word) {
char tmp = word[a];
word[a] = word[b];
word[b] = tmp;
return new String(word);
}