字符串相似度计算的方法,使用SQL以及C#实现,本文非原创摘自网络(.NET SQL技术交流群入群206656202需注明博客园)
2014-05-24 11:36
881 查看
#region 计算字符串相似度 /// <summary> /// 计算字符串相似度 /// </summary> /// <param name="str1">字符串1</param> /// <param name="str2">字符串2</param> /// <returns>相似度</returns> public static float Levenshtein(string str1, string str2) { //计算两个字符串的长度。 int len1 = str1.Length; int len2 = str2.Length; //比字符长度大一个空间 int[,] dif = new int[len1 + 1, len2 + 1]; //赋初值,步骤B。 for (int a = 0; a <= len1; a++) { dif[a, 0] = a; } for (int a = 0; a <= len2; a++) { dif[0, a] = a; } //计算两个字符是否一样,计算左上的值 int temp; for (int i = 1; i <= len1; i++) { for (int j = 1; j <= len2; j++) { if (str1.Substring(i - 1, 1) == str2.Substring(j - 1, 1)) { temp = 0; } else { temp = 1; } //取三个值中最小的 dif[i, j] = Min(dif[i - 1, j - 1] + temp, dif[i, j - 1] + 1, dif[i - 1, j] + 1); } } return 1 - (float)dif[len1, len2] / Math.Max(str1.Length, str2.Length); } #endregion //比较3个数字得到最小值 private static int Min(int i, int j, int k) { return i < j ? (i < k ? i : k) : (j < k ? j : k); }
C#
相关文章推荐
- Caffe中实现LSTM网络的思路以及LSTM网络层的接口使用方法。 本文描述了论文《Long-term recurrent convolutional networks fo
- C#和SQL实现的字符串相似度计算代码分享
- C#和SQL实现的字符串相似度计算代码分享
- C#小练习(使用方法重载使得方法可以分别计算整数、双精度、字符串)
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法
- jQuery跨域请求,跨域Post提交数据的方法(.net/SQL技术交流群206656202 入群需注明博客园) - 思...
- C#第2次试验(1).创建一个抽象类A,该类中包含一个求两个数之和抽象方法。创建一个子类B,在B中重写求和方法,且使用方法重载使得方法可以分别计算整数、双精度、字符串。
- C#字符串数组排序 C#排序算法大全 C#字符串比较方法 一个.NET通用JSON解析/构建类的实现(c#) C#处理Json文件 asp.net使用Jquery+iframe传值问题
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法
- C# 读写ini配置文件(.net/SQL技术交流群206656202 入群需注明博客园)
- C#实现camel字符串转换(以及查阅后总结的一些其他C#中string类中的方法)
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法
- 在进行C#编程时候,有的时候我们需要判断一个字符串是否是数字字符串,我们可以通过以下两种方法来实现。 【方法一】:使用 try{} catch{} 语句。 我们可以在try语句块中试图
- 一种不使用字符串检验一个整数是否包含一个整数的c#实现方法
- C#使用异步Socket实现TCP网络服务的CS的通讯构架(二)使用方法
- c#打包文件解压缩 C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法 一个简单例子理解C#的协变和逆变 对于过长字符串的大小比对
- .net 实现Office文件预览(.NET、SQL技术交流群206656202,入群需注明来自博客园)