Visual Studio (Prefer jagged arrays over multidimensional)에서 성능 문제가 발생합니다.
바꿀 코드는 "// 매트릭스"입니다.
내 코드로 어떻게 할 수 있습니까?다차원 배열보다 들쭉날쭉한 배열을 선호하십시오
public static int LevenshteinDistance(string s, string t)
{
int n = s.Length; //length of s
int m = t.Length; //length of t
int[,] d = new int[n + 1, m + 1]; // matrix
int cost; // cost
// Step 1
if (n == 0) return m;
if (m == 0) return n;
// Step 2
for (int i = 0; i <= n; d[i, 0] = i++) ;
for (int j = 0; j <= m; d[0, j] = j++) ;
// Step 3
for (int i = 1; i <= n; i++)
{
//Step 4
for (int j = 1; j <= m; j++)
{
// Step 5
cost = (t.Substring(j - 1, 1) == s.Substring(i - 1, 1) ? 0 : 1);
// Step 6
d[i, j] = System.Math.Min(System.Math.Min(d[i - 1, j] + 1, d[i, j - 1] + 1),
d[i - 1, j - 1] + cost);
}
}
// Step 7
return d[n, m];
}
그럼 뭐가 궁금한가요? – Servy
@Servy 내 질문에, 어떻게 배열을 가변 배열로 변환 할 수 있습니다. "int [,] d = 새로운 int [n + 1, m + 1];" ->? –
지그재그 배열을 만드는 방법에 대해 수행 한 연구와 연구에서 찾은 솔루션을 구현할 때 어떤 문제가 있습니까? – Servy