字符串匹配度计算

Posted on 2016-01-14 13:10  云起  阅读(7)  评论(0)    收藏  举报  来源


        /// <summary>
        /// 字符串相似度算法-编辑距离法
        /// </summary>
        /// <param name="str1"></param>
        /// <param name="str2"></param>
        /// <returns>返回的值越大相似度越高</returns>
        public static double StringSimilarDegree_LD(string srcString, string matchString)
        {
            int n = srcString.Length;
            int m = matchString.Length;
            int[,] d = new int[n + 1, m + 1]; // matrix
            int cost; // cost
            // Step 1
            if (n == 0) return (double)m / System.Math.Max(srcString.Length, matchString.Length);
            if (m == 0) return (double)n / System.Math.Max(srcString.Length, matchString.Length);
            // Step 2
            for (int i = 0; i <= n; d[i, 0] = i++) ;
            for (int j = 0; j <= m; d[0, j] &#

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3