1. 有一个5个字节的window,沿着文本向右滑动,每次滑动一个字节
2. 每一个window里面的5个字节,分别可以N个组成3元组。 例如igram,可以分为:igr iga igm iga igm gra grm gam ram
3. 每一个三元组通过一个hash函数,算出来一个结果,设为i ,i的区间是(0,256), 最下面有一个数组,也是共256位,刚好对应存放。 例如igr,假设算出来是15,那么在数组的15那个位置累加1
4. 计算完全部文本,这时数组的每个位置都有一个累加值
5. 通过计算累加值的平均值得到一个阈值,然后数组的每个位分别与该阈值比较,如果大于平均值则为1,小于平均值则为0.
6. 最后就得到一个256位长度的值,就用来表征这个文本。
时间: 2024-10-07 20:17:55