shingling算法用于计算两个文档的相似度,例如,用于网页去重.维基百科对w-shingling的定义如下: In natural language processing a w-shingling is a set of unique "shingles"—contiguous subsequences of tokens in a document —that can be used to gauge the similarity of two documents. The w…
本文系转载,转自:http://www.blogjava.net/jinfei0627/articles/219543.html 应用Hash函数(java描述) 作者:冲处宇宙 时间:2007.1.25 计算理论中,没有Hash函数的说法,只有单向函数的说法.所谓的单向函数,是一个复杂的定义,大家可以去看计算理论或者密码学方面的数据.用"人类"的语言描述单向函数就是:如果某个函数在给定输入的时候,很容易计算出其结果来:而当给定结果的时候,很难计算出输入来,这就是单项函数.各种加密函数…
生物信息学原理作业第二弹:利用Needleman–Wunsch算法进行DNA序列全局比对. 具体原理:https://en.wikipedia.org/wiki/Needleman%E2%80%93Wunsch_algorithm. 利用Needleman–Wunsch算法进行DNA序列全局比对 转载请保留出处! 贴上python代码: # -*- coding: utf-8 -*- """ Created on Sat Nov 25 18:20:01 2017 @autho…
之前经常遇到hash函数或者经常用到hash函数,但是hash到底是什么?或者hash函数到底是什么?却很少去考虑.最近同学去面试被问到这个问题,自己看文章也看到hash的问题.遂较为细致的追究了一番. 通俗的讲,hash其实就是一种运算,就是把任意长度的输入,通过一定的算法(散列),变换成固定长度的输出,该输出就是散列值.本例注意两点:任意输入,固定长度输出. hash函数就是就是一种函数运算,将任意长度输入转换成固定长度输出的运算或者说算法(数学公式).例如除留余数法.MD5等. 数学表述为…
   Hash,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值. 这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能 会散列成相同的输出,而不可能从散列值来唯一的确定输入值.数学表述为:h = H(M) ,其中H( )--单向散列函数,M--任意长度明文,h--固定长度散列值.   在信息安全领域中应用的Hash算法,还需要满足其他关键特性:   第一当然是单向性(one-way),从预映射,能够简单迅速的得到散列值,而在计算上不可能构造…
背景 现有个处理股票行情消息的系统,其架构如下: 由于数据量巨大,系统中启动了 15 个线程来消费行情消息.消息分配的策略较为简单:对 symbol 的 hashCode 取模,将消息分配给其中一个线程进行处理. 经过验证,每个线程分配到的 symbol 数量较为均匀,于是系统愉快地上线了. 运行一段时间后,突然收到了系统的告警,但此时并非消息峰值时间段.经过排查后,发现问题出现在 hash 函数上: 虽然每个线程被分配到的 symbol 数量较为均衡,但是部分热门 symbol 的报价消息量会…
来源:http://my.oschina.net/pathenon/blog/65210 1.概述     跟SimHash一样,MinHash也是LSH的一种,可以用来快速估算两个集合的相似度.MinHash由Andrei Broder提出,最初用于在搜索引擎中检测重复网页.它也可以应用于大规模聚类问题.   2.Jaccard index       在介绍MinHash之前,我们先介绍下Jaccard index.       也就是说,集合A,B的Jaccard系数等于A,B中共同拥有的…
简介 哈稀函数按照定义可以实现一个伪随机数生成器(PRNG),从这个角度可以得到一个公认的结论:哈希函数之间性能的比较可以通过比较其在伪随机生成方面的比较来衡量. 一些常用的分析技术,例如泊松分布可用于分析不同的哈希函数对不同的数据的碰撞率(collision rate).一般来说,对任意一类的数据存在一个理论上完美的哈希函数.这个完美的哈希函数定义是没有发生任何碰撞,这意味着没有出现重复的散列值.在现实中它很难找到一个完美的哈希散列函数,而且这种完美函数的趋近变种在实际应用中的作用是相当有限的…
hash函数: 一般翻译为“散列”或“哈希”,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值唯一来唯一的确定输入值(这也是应用hash函数时需要注意避免的).简单来说,就是将任意长度的消息压缩到某一固定长度的消息摘要的函数. 1.特征:被hash的值不变,对应hash的值一定是不变的.(hash的值的计算过程是依据这个值的一些特征计算的,这就要求ha…
一.hashcode是什么 要理解hashcode首先要理解hash表这个概念 1. 哈希表 hash表也称散列表(Hash table),是根据关键码值(Key value)而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.这个映射函数叫做散列函数,存放记录的数组叫做散列表. 给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Has…