/**在信息理论中,两个等长字符串之间的汉明距离
* 是两个字符串对应位置上不同字符的个数,
* 换句话说,汉明距离就是将一个字符串替换成另外一个字符串所需要替换的字符长度。
*例如,1011101和1001001之间的汉明距离是2,
*toned和roses之间的汉明距离是3.
*汉明重量是字符串相对于同样长度的零字符串的汉明距离,
*也就是说,它是字符串中非零的元素个数:对于二进制字符串来说,就是 1 的个数,
*所以 11101 的汉明重量是 4。
*下面的代码展示了在Java中如何计算汉明距离和汉明重量。
*/
package re;
public class HammingDistance {
public static void main(String[] args) {
String str1 = "abcdefg";
String str2 = "aacceeg";
HammingDistance hd = new HammingDistance();
int distance = hd.getDistance(str1, str2);
System.out.println("distance is " + distance);
int weight = hd.getWeight(255);
System.out.println("weight is " + weight);
}
/**
* calculate Hamming Distance between two strings
*
* @author
* @param str1 the 1st string
* @param str2 the 2nd string
* @return Hamming Distance between str1 and str2
*/
public int getDistance(String str1, String str2) {
int distance;
if (str1.length() != str2.length()) {
distance = -1;
} else {
distance = 0;
for (int i = 0; i < str1.length(); i++) {
if (str1.charAt(i) != str2.charAt(i)) {
distance++;
}
}
}
return distance;
}
/**
* calculate Hamming weight for binary number
* @author
* @param i the binary number
* @return Hamming weight of the binary number
*/
public int getWeight(int i) {
int n;
for (n = 0; i > 0; n++) {
i &= (i - 1);
}
return n;
}
}
分享到:
相关推荐
汉明距离matlab代码汉明_距离 此 Matlab 代码用于查找两个数字的汉明距离。 注意:如果你在你的系统或项目中使用我的代码,你应该总是引用我的论文作为参考 Functions: Main function : main.m Hamming distance ...
通过此代码可以检索利用算法筛选出来的DNA序列是否满足汉明距离、GC含量等约束条件。
虹膜图像识别的完整程序,包括预处理,Hough变换定位中心,汉明距离匹配等。(Complete program iris recognition, including pretreatment, Hough transform positioning center, Hamming distance matching.)
参考答案代码public int hammingDistance(int x, int y) {//不同的位会变成1= 0){ //那么只要计算num中1的个数
因此,当传送端与接收端的比特样式的汉明距离 (Hamming distance) 小于或等于1时(仅有 1 bit 发生错误),可实现可靠的通信。相对的,简单的奇偶检验码除了不能纠正错误之外,也只能侦测出奇数个的错误。
python 实现 字符串 综合大作业 课程设计 代码 等20个项目 Aho-Corasick算法(Aho Corasick) 字符串排列变换(Alternative String ...汉明距离(Hamming Distance) 印度电话号码验证器(Indian Phone Validator)
见http://en.wikipedia.org/wiki/Hamming_distance
(x)Hash&(y)Histogram:计算出汉明距离(Hamming Distance)或直方图的重合程度并按序检索出结果(x)Hash,包括:aHash, dHash, pHash, (y)Histogram: Histogram, Histogram_split。即先通过对val(query) 进行颜色和...
基于Python实现的多种相似度计算、匹配搜索算法,支持文本、图像,开箱即用...汉明距离(Hamming Distance),编辑距离(Levenshtein Distance),欧氏距离(Euclidean Distance),曼哈顿距离(Manhattan Distance)等
这是“ Hamming Distance Metric Learning,NIPS 2012”方法的实现。 **此实现未经过广泛测试,某些文件可能会丢失。 如果您有任何问题,请告诉我** 从START.m开始 在开始运行之前,请从下载包含mnist数据集的...
6.汉明距离(Hamming distance) 7.杰卡德相似系数(Jaccard similarity coefficient) 8.贝叶斯公式 1.闵氏距离的定义: 两个n维变量A(x11,x12,…,x1n)与 B(x21,x22,…,x2n)间的闵可夫斯基距离定义为: 其中p是一个...
meeko文档 Document贡献者 TouchTheTop...ml.util 下LanceDistance(兰氏距离)LevenshteinDistance(Levenshtein 距离)/editDistance(编辑距离)Chebyshev Distance(切比雪夫距离)HammingDistance(汉明距离)杰卡德相似系数
StringAlgorithms.Swift 字符串算法和数据结构,在Swift中实现。要求iOS 8.0以上Xcode 9 斯威夫特4安装可可...文献资料演算法算法格式汉明距离a.hammingDistance(to: b) 莱文施泰因距离a.levenshteinDistance(to: b) 最
在理论上,这等同于计算"汉明距离"(Hammingdistance)。如果不相同的数据位不超过5,就说明两张图片很相似;如果大于10,就说明这是两张不同的图片。 你可以将几张图片放在一起,也计算出他们的汉明距离对比,就...
汉明距离 语音编码: 美国Soundex 变音器 NYSIIS(纽约州身份和情报系统) 比赛评分标准 用法示例 >>> import jellyfish >>> jellyfish.levenshtein_distance( u ' jellyfish ' , u ' smellyfish ' ) 2 >>> ...
支持快速汉明、Levenshtein、受限Damerau-Levenshtein等距离计算和字符串搜索。尽管矢量化 SIMD 代码比它们的标量对应物允许高达 20-30 倍的加速,但处理依赖于平台的 SIMD 代码的困难使得 SIMD 例程不那么有吸引力...