gpt4 book ai didi

C拼写检查、字符串概念、算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:44:39 24 4
gpt4 key购买 nike

这是我关于堆栈溢出的第一个问题。一些快速的背景知识,这不是学校项目,只是为了娱乐、练习和学习。我正在尝试用 C 编写拼写检查器。我遇到的问题是想出可能的词来替换拼写错误的词。

我还应该指出,在我的类(class)中,我们还没有接触到更高级别的编程概念,例如时间复杂度或算法开发。我这么说是因为我觉得我真正要问的概念有名称,只是我还没有听说过。

在这里的其他类似帖子中,大多数人建议使用 levenshtein 距离或遍历 patricia 树;只比较子字符串会有问题吗?我想出的(非常低效的)算法是:

将前 N 个字符(其中 N = 拼错单词的长度 - 1)与字典单词进行比较(它们将从系统文件中读取到动态分配的数组)

如果拼错单词中的 N 个字符与字典中的单词匹配,则将其添加到建议列表中;如果找不到更多匹配项,则递减 N

继续,直到找到 10 个建议或 N = 0

这感觉笨拙和笨拙,但这是我们的教科书建议的处理方式。我已经阅读了有关遍历树和计算各种有趣事物以提高效率和准确性的 wiki 文章,但此时它们超出了我的理解范围。感谢您提供任何帮助,感谢您花时间阅读本文。

最佳答案

现代计算机速度非常快。值得您使用您描述的算法对其进行编码,并查看它在您的机器上使用您的字典的效果如何。如果它工作得很好,那就太好了!否则,您可以尝试通过选择更好的算法对其进行优化。

您读到的所有奇特算法都具有以下一个或两个目标:

  • 加快拼写检查
  • 提供更好的改正建议

但这只有在您非常关心性能时才重要。编写自己的代码来执行此操作没有错。它可能不是很好,但你会学到比投入并实现你还不了解的算法更多的东西。

关于C拼写检查、字符串概念、算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11069719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com