|
|
1
3
你想要的是一个相似的因素。本质上,您希望将您的输入(“micheal-jackson”,例如)与您的预期值(“michael-jackson”)进行比较;如果您的期望值与某个期望值的相似性非常高,则可以询问用户。 一种方法是将期望值散列到完全打包的哈希表中。如果你的散列算法正确(是的,这是一个棘手的问题),每个输入都将散列到最接近的期望值;一旦你找到了最接近的期望值,你就可以对输入和该期望值进行相似性评估;如果你超过了某个阈值,就询问用户。 |
|
|
2
1
一个相当简单但相对不准确的系统是比较字符串的字符,并测量用户字符串中不同/缺失/添加的字符数。如果字符数足够少(您可以尝试根据键距离[查找表]或其他类似的方法来加权差异),然后询问用户它们是否表示特定的给定字符串 |
|
|
3
1
这是一项非常重要的任务。退房 Wikipedia 有关处理此问题的算法的更多信息。你已经找到了Soundex,但是这里还有其他的转换。 |
|
|
4
1
这听起来非常类似于创建拼写检查器,最好使用 ternary search tree . 该链接以Java为例,但数据结构是其重要组成部分。数据结构的行为类似于具有mcwafflestix提到的属性的哈希。 |