nilsimsa的大概算法

2009-12-02 12:51:03|分类:
默认分类
|标签:

|字号订阅

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位长度的值,就用来表征这个文本。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。