SP11900 PK11F - Spelling Suggestion
题目描述
在拼写纠正程序中,拼写建议是用于为可能出现拼写错误的单词提供一组合理替换词的功能。衡量这些替换词合理性的一种方式是计算它们与拼错单词之间的编辑距离。编辑距离指的是将一个单词转换为另一个单词所需的最少编辑操作次数。通常,这些操作包括插入、删除、替换单个字符,或交换相邻两个字符的位置。
例如,考虑单词“wonder”:如果删除字符 'o',则该单词变为“wnder”;如果将 'o' 替换为 'a',则变为“wander”;如果交换“er”两个字母的位置,则变为“wondre”。
在这种编辑距离策略中,两个单词的相似度由它们之间的最小编辑距离决定。如果 word1 与 word2 之间的编辑距离小于与 word3 的距离,则 word2 比 word3 更接近 word1,因此是更好的拼写建议。
假设你是一家软件公司的员工,负责开发一个拼写建议程序原型,该原型会被整合到文字处理软件中。要求是使用编辑距离的策略来生成拼写建议,但是需要根据键盘布局重新定义替换操作的成本。具体来说,字符之间替换的成本取决于它们在键盘上的相对位置。如果它们相距较近,替换成本为正常的一半。为此,替换被分为"近替换"和"远替换",其成本分别为 1 和 2。插入、删除和交换的成本统一为 2。此外,程序的运行速度必须足够快,以在规定时间内完成任务。对于这个原型,我们使用的是英文 QWERTY 键盘布局。
目标是为每个输入单词提供最优的拼写建议,这些建议词是字典中与输入单词编辑距离最小的词。确保程序能在5分钟内处理多达5,000个拼错单词。
**本翻译由 AI 自动生成**
输入格式
无
输出格式
无