摘要:
有时,简单的算法也有其实用的意义,由于之前公司内部搜索引擎优化的需要,我根据《编程珠玑》中查找英文单词变位词的算法,来实现搜索纠错的功能。在搜索时,有时记不住单词,会出现拼写错误的情况,例如,搜索“height”时手误,搜索了“heigth”,那么我们要在搜索不到的情况下,给他变位词作为提示(注:因为公司内部搜索,该算法已经够用,真正的搜索引擎应该是采用更高效的算法,请有经验的前辈赐教)。算法分三步:①对单词签名; ②根据签名的字典序排序; ③根据排序结果挤压,使变位词聚合在一起;a) 快速单词签名算法(当前仅使用于英文单词,如果包含其他字符,需做拓展):鉴于英文字母可枚举且数量只有26个,故 阅读全文