Algorithm 树搜索全部

Algorithm 树搜索全部,algorithm,search,data-structures,fuzzy-search,bk-tree,Algorithm,Search,Data Structures,Fuzzy Search,Bk Tree,A与模糊字符串搜索相关,例如拼写检查、单词推荐。所有的BK树搜索算法都与。目的是返回,例如 现在,我的问题是,我试图使用这个模糊字符串搜索算法从给定的字典中搜索所有相似的项。例如,给定一个单词seek,我想在字典中查找所有类似的单词,如peek、geek、seat等。然而,我发现这不是设计的 看看我的。我发现了 我想要的是,使用上面的方法,给定四本Python书籍中的任何一本,SearchAll函数将始终返回这四本Python书籍,不管字典的构建顺序或搜索的完成顺序如何 然而,我尝试了很多方法,

A与模糊字符串搜索相关,例如拼写检查、单词推荐。所有的BK树搜索算法都与。目的是返回,例如

现在,我的问题是,我试图使用这个模糊字符串搜索算法从给定的字典中搜索所有相似的项。例如,给定一个单词seek,我想在字典中查找所有类似的单词,如peek、geek、seat等。然而,我发现这不是设计的

看看我的。我发现了

我想要的是,使用上面的方法,给定四本Python书籍中的任何一本,SearchAll函数将始终返回这四本Python书籍,不管字典的构建顺序或搜索的完成顺序如何


然而,我尝试了很多方法,但都失败了,例如。现在我举手请求帮助。一个伪代码或通用算法来描述就可以了。Thx

在bktree.go的行和上有整数溢出:

k:=d-r

由于d和r的类型是uint8,k的类型也是uint8,因此当d 您可以这样修复它:

k := int16(d) - int16(r)
max_k  := int16(d) + int16(r)
if k < 1 {
    k = 1
}
for ; k <= max_k; k++ {
    ...
}

@templatetypedef?@Duck,你能帮忙吗?事实上,这不会发生,因为在第77行和第106行中,d将>=r。但是谢谢你花时间研究它!我用调试器检查了它,它确实是在线发生的。此外,修复后,ExampleSearch\u文件A、ExampleSearch\u文件B、ExampleSearch\u文件都输出相同的结果。哦,好了!谢谢!顺便说一句,你在使用什么调试器?@xpt我在使用JetBrains Gogland。谢谢@user3290797,很抱歉我只能向上投票,因为我仍然希望有一个SearchAll函数可以始终为每个调试器返回四本Python书籍。