国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

C#實現的 字符串相似度對比類

2019-11-02 15:17:46
字體:
來源:轉載
供稿:網友

   本類適用于比較2個字符的相似度,代碼如下:

  ?

       

歐美電影[www.aikan.tv/xzhtml/10/]
using System;

  using System.Collections.Generic;

  using System.Text;

  public class StringCompute

  {

  #region 私有變量

  ///

  /// 字符串1

  ///

  private char[] _ArrChar1;

  ///

  /// 字符串2

  ///

  private char[] _ArrChar2;

  ///

  /// 統計結果

  ///

  private Result _Result;

  ///

  /// 開始時間

  ///

  private DateTime _BeginTime;

  ///

  /// 結束時間

  ///

  private DateTime _EndTime;

  ///

  /// 計算次數

  ///

  private int _ComputeTimes;

  ///

  /// 算法矩陣

  ///

  private int[,] _Matrix;

  ///

  /// 矩陣列數

  ///

  private int _Column;

  ///

  /// 矩陣行數

  ///

  private int _Row;

  #endregion

  #region 屬性

  public Result ComputeResult

  {

  get { return _Result; }

  }

  #endregion

  #region 構造函數

  public StringCompute(string str1, string str2)

  {

  this.StringComputeInit(str1, str2);

  }

  public StringCompute()

  {

  }

  #endregion

  #region 算法實現

  ///

  /// 初始化算法基本信息

  ///

  /// 字符串1

  /// 字符串2

  private void StringComputeInit(string str1, string str2)

  {

  _ArrChar1 = str1.ToCharArray();

  _ArrChar2 = str2.ToCharArray();

  _Result = new Result();

  _ComputeTimes = 0;

  _Row = _ArrChar1.Length + 1;

  _Column = _ArrChar2.Length + 1;

  _Matrix = new int[_Row, _Column];

  }

  ///

  /// 計算相似度

  ///

  public void Compute()

  {

  //開始時間

  _BeginTime = DateTime.Now;

  //初始化矩陣的第一行和第一列

  this.InitMatrix();

  int intCost = 0;

  for (int i = 1; i < _Row; i++)

  {

  for (int j = 1; j < _Column; j++)

  {

  if (_ArrChar1[i - 1] == _ArrChar2[j - 1])

  {

  intCost = 0;

  }

  else

  {

  intCost = 1;

  }

  //關鍵步驟,計算當前位置值為左邊+1、上面+1、左上角+intCost中的最小值

  //循環遍歷到最后_Matrix[_Row - 1, _Column - 1]即為兩個字符串的距離

  _Matrix[i, j] = this.Minimum(_Matrix[i - 1, j] + 1, _Matrix[i, j - 1] + 1, _Matrix[i - 1, j - 1] + intCost);

  _ComputeTimes++;

  }

  }

  //結束時間

  _EndTime = DateTime.Now;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 从江县| 同德县| 铁岭县| 云南省| 塘沽区| 夏津县| 福泉市| 乌鲁木齐市| 洛隆县| 京山县| 军事| 蒙自县| 时尚| 安陆市| 双峰县| 卢龙县| 贵南县| 无棣县| 海盐县| 京山县| 盐津县| 蛟河市| 光山县| 益阳市| 西城区| 铁力市| 孝义市| 福安市| 北宁市| 绥德县| 南京市| 延津县| 资溪县| 北安市| 四子王旗| 南江县| 太原市| 武陟县| 潜江市| 柳河县| 乌拉特前旗|