BK Trees (Burkhard-Keller Trees)与模糊字符串搜索相关联(例如拼写检查,单词推荐)。并且所有BK树搜索算法与explained here相同。目的是返回,例如"seek" and "peek" if I search for "aeek"。
现在,我的问题是,我正在尝试使用此模糊字符串搜索算法从给定字典中搜索所有类似项目。例如,给定一个单词“seek”,我想在字典中找到所有类似的单词,如“peek”,“geek”,“seat”等。但是我发现BK Trees searching algorithm that everyone uses不是为此设计的。
看一下我的sample test result here。我发现the dictionary will be different if the feeding words order is different, thus the search result can be different as well。
我想要的是,使用我上面的sample test,给出四本Python书籍中的任何一本,SearchAll
函数将始终返回四本Python书籍,尽管字典是按顺序构建的,或者是命令搜索完成。
但是,我尝试了很多方法,但都失败了(例如this is one of them)。现在我举手并寻求帮助。伪代码或通用算法描述会做。谢谢。