一段比较字串相似度的代码
来源:互联网 发布:matlab里矩阵的条件数 编辑:程序博客网 时间:2024/06/14 08:31
public class StringsCompare{private int compare(String str1, String str2){int d[][];int n = str1.length();int m = str2.length();int i; int j; char ch1; char ch2; int temp; if (n == 0) { return m; }if (m == 0) { return n; }d = new int[n + 1][m + 1];for (i = 0; i <= n; i++){ d[i][0] = i;}for (j = 0; j <= m; j++){ d[0][j] = j;}for (i = 1; i <= n; i++){ ch1 = str.charAt(i - 1);for (j = 1; j <= m; j++){ch2 = target.charAt(j - 1);if (ch1 == ch2){temp = 0;} else{temp = 1;}d[i][j] = min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + temp);}}return d[n][m];}private int min(int one, int two, int three){return (one = one < two ? one : two) < three ? one : three;}/*** 获取两字符串的相似度*/public float getSimilarityRatio(String str, String target){return 1 - (float) compare(str, target) / Math.max(str.length(), target.length());}public static void main(String[] args){Levenshtein lt = new Levenshtein();String str = "abc";String target = "acb";System.out.println("similarityRatio=" + lt.getSimilarityRatio(str, target));}}
函数compare(String str1, String str2)返回一个int值,该值为一个二阶数组的最后一位数值。该函数首先假定一个字串不变时,另一个字串变动1位则差异度+1, 即二阶数组的第一行和第一列的值都+1。而当实际进行比较的字符相同时,则差异度记为0,不同则记为1。那么二阶数组中的每个数,都代表着当前进行比较的两个字串按当前长度截取后的差异度。最终得到完整的字串长度对比后的差异度。可以从str1=null,str2=""开始,str1=="",差异度为零。str1有具体取值,如"a",则差异度为1,str2也取值为"a"的话,差异度又变为0。这时候temp的取值为0或1,即代表了当前是否出现新的差异。
阅读全文
0 0
- 一段比较字串相似度的代码
- 一段简单实现【余弦相似度】的python代码
- JAVA 比较两张图片的相似度的代码
- 可执行文件的相似度比较
- python-Levenshtein几个计算字串相似度的函数解析
- python-Levenshtein几个计算字串相似度的函数解析
- python-Levenshtein几个计算字串相似度的函数解析
- 一段比较经典的多线程学习代码
- 一段比较经典的多线程学习代码
- 一段比较经典的多线程学习代码
- 一段比较经典的多线程学习代码
- 一段代码性能比较
- Java字串的比较
- 一段把客户端的中文字串转换成UTF-8的代码
- JAVA 比较两张图片的相似度的代码(未测试)
- 字符串相似度的比较C#实现
- 如何比较两个文本的相似度
- PHP比较两个数组的相似度
- php经典实例中1.7扩展和压缩制表符
- c/c++字符串的逆序,混合长度,祛除空格等处理
- Bootstrap组件学习笔记(八)——具有响应式的嵌入内容和well
- 【09】Bootstrap — 图片
- 鼠标经过展开图片
- 一段比较字串相似度的代码
- python爬取网页的时11004错误
- Java多线程--可重入锁
- RabbitMQ之监控(3)
- H5基础(5)-HTML5绘图canvas
- 值类型与引用类型与基本类型
- Pytorch写深度学习
- loadrunner Web_类函数之web_add_header()
- JQuery制作飘落的树叶动画效果