我想写一个“你是不是真的”算法。
我有一组单词(就像git命令,如 pull , push , clone )。
当用户从单词组中输入单词时,我需要提供建议
以上所有细节都是我的问题的背景:)
我想复制;)git中使用的代码实现'你是不是'算法来完成我的任务。
你知道包含'你是不是'算法的git-source-file的位置?
答案 0 :(得分:9)
相关代码位于levenshtein.c
(编辑距离计算)和help.c
(截止)。
答案 1 :(得分:2)
Iarsmans已经为您提供了git中算法实现的链接,但是如果您想阅读有关理论的内容,您可能需要阅读维基百科上的edit distance和Levenshtein distance页面。< / p>
简而言之,对于编辑距离算法,目标是计算 - 给定一组基于您正在处理的数据类型的基本编辑操作(在您的情况下为字符串) - 最小编辑数使一个值(字符串)与另一个值相同。