1
1
拼写检查器可能希望找到与目标单词最接近的匹配项,而不是恰好具有相同前缀的单词。TST很擅长查找前缀,但如果你想查找,它们对你没有太大帮助 相像的 话。 在你的例子中(假设“manman”不在你的字典中,虽然它是一个词),“main”这个词比“mango”更可能出现,但从最长匹配前缀开始的扫描不会发现它。 但是,如果您希望扫描从最长的匹配前缀开始:
1) 修改searchTST,使其返回
2)
3) 你可以使用类似的方法
|
2
0
您可以尝试使用通配符。例如,用通配符替换搜索词中的某个字母,然后将该单词拆分为两个子字符串并将其插入TST。然后搜索所有模式,而不仅仅是精确匹配。它通过创建字典单词的每个前缀来工作。但我建议使用TST尝试aho-corasick算法。 |
Krythic · WPF拼写检查在内部是如何工作的? 7 年前 |
ross-g · Python正则表达式匹配整词(减去收缩和所有格) 7 年前 |
Parul Setia · 使用三元搜索树的拼写检查器 9 年前 |
Sabuncu · 在不使用字典的情况下识别拼写错误的算法类是什么? 11 年前 |
RightLeftRight12 · 在字典中查找单词C编程 11 年前 |