大家一定经常遇到CAD病毒无法查杀干净,但是用win32api写的脚本速度又很慢的问题。

所以很多时候都要借助搜索引擎算法来杀毒,这创意来自 @建筑师的魔术手 。

就是借助Everything这个工具。

但是大家有没有想过,为什么这个工具速度这么快嘛???

其实《数学之美》——吴军

里面暗示过,google的算法是借助 稀疏矩阵 进行计算的

那么什么是 稀疏矩阵?

那就是带有很多 0 的行列式。

你可以用everything搜索everything,就可以找到你本机的搜索检索目录。

打开之后是这样的:

仔细观察就会发现,这个东西是一个二维嵌套的邻接矩阵导出的邻接表的数据结构。

可以百度 “邻接矩阵” “邻接表”

来详细了解。

具体就是这样的:

X A C D E

A 1 0 0 0 0

0 0 0 0 0

C 0 0 1 0 0

0 0 0 0 0

0 0 0

全部数据

——————————————————

搜索带有A,C带True的区

X A C

A 1 0

C 0 1

这就是在ABC中检索”AC”

上面所示的算法就是稀疏矩阵的图示化解法。

所以搜索算法就是,把所有的数据都下载下来,用一种压缩编码的方式把每一个字符是否含有内容的Key值绑定在邻接表里面,做成静态过滤工具。

决定搜索引擎效率的是你能下载多少内容。