nilsimsa的大概算法

news/2024/7/8 8:21:50
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位长度的值,就用来表征这个文本。

http://www.niftyadmin.cn/n/3060759.html

相关文章

do_generic_file_read()函数

这个函数完成了文件读的主要流程 核心在于操作页高速缓存,如缺页,失效,预读等操作。 函数中goto语句不计其数, static void do_generic_file_read(struct file *filp, loff_t *ppos, read_descriptor_t *desc, read_a…

ECLIPSE、INTELLIJ IDEA格式化统一ECLIPSE CODE FORMATTER

Eclipse、Intellij idea格式化结果不一样,导致长时间都是用两个开发工具,idea开发eclipse进行格式化。但是现在这个问题可以解决了。使用Eclipse Code Formatter。 具体的插件地址:http://plugins.jetbrains.com/plugin/6546?pridea&off…

文件读写流程

在《linux内核虚拟文件系统浅析》这篇文章中,我们看到文件是如何被打开、文件的读写是如何被触发的。 对一个已打开的文件fd进行read/write系统调用时,内核中该文件所对应的file结构的f_op->read/f_op->write被调用。 本文将顺着这条路走下去&…

网站无法显示logo?

那是因为你没有配置favicon.ico,每个网站根目录都会有一个favicon.ico,因为每个服务器都会请求根目录下的它。

改变图片尺寸

// 改变图片尺寸 -(UIImage *)thumbnailWithImageWithoutScale:(UIImage *)image size:(CGSize)asize{UIImage *newimage;if (nil image) {newimage nil;}else{CGSize oldsize image.size;CGRect rect;if (asize.width/asize.height > oldsize.width/oldsize.height) {re…

Git建立远程/本地服务器和git命令的使用

Github 远程仓库 1、github.com 注册账户 2、在github上创建仓库 3、生成本地ssh key [rootlocalhost ~]# ssh-keygen -t rsa -C maiya163.com # 邮箱要与github上注册的相同 [rootlocalhost ~]# cat .ssh/id_rsa.pub ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQDVThfq4brrlsPGtAkn…

磁盘格式化、磁盘挂载以及手动增加swap空间

磁盘格式化cat /etc/filesystems:查看centos7操作系统所支持的文件系统类型。centos7默认的文件系统类型为xfs。早期版本使用的是ext文件系统,6使用的是ext4,5使用的是ext3,依此类推。可以使用mount命令来查看分区的挂载情况以及文…

android动画笔记

动画 插值器 估值器 动画分类 View动画(补间动画)、帧动画、属性动画View动画(补间动画)包括:平移、旋转、缩放、透明度,View动画是一种渐近式动画 帧动画:图片切换动画属性动画:通过…