質問編集履歴

2

2020/07/04 05:33

投稿

Hinomae
Hinomae

スコア7

test CHANGED
File without changes
test CHANGED
@@ -112,7 +112,7 @@
112
112
 
113
113
 
114
114
 
115
- memo[m][n-1]=ldmemo(X,m-1,Y,n,memo);
115
+ memo[m-1][n]=ldmemo(X,m-1,Y,n,memo);
116
116
 
117
117
  ++countm;
118
118
 

1

追記

2020/07/04 05:33

投稿

Hinomae
Hinomae

スコア7

test CHANGED
@@ -1 +1 @@
1
- メモ化を使った再帰による編集距離の導出
1
+ メモ化を使った再帰による編集距離の導出を簡単にしたいです。
test CHANGED
@@ -1,4 +1,6 @@
1
- 長さがlen_x、len_yの二つの文字列の編集距離(レーベンシュタイン距離)を、二次元配列memo[len_x+1][len_y+1]に計算済みの編集距離を格納することで計算量をおさえつつ求めたいです。
1
+ 長さがlen_x、len_yの二つの文字列の編集距離(レーベンシュタイン距離)を、二次元配列memo[len_x+1][len_y+1]に1度計算済みの編集距離を保存することで計算量をおさえつつ求めたいです。
2
+
3
+ 同じ計算が必要になったときにこの保存してあった編集距離の値を参照する…というプログラムです。
2
4
 
3
5
 
4
6
 
@@ -7,6 +9,8 @@
7
9
 
8
10
 
9
11
  以下のメモ化の場合、例えば2文字と2文字の文字列の場合、再帰関数ldmemoの呼び出し回数は13回、3文字と3文字の場合28回、4文字と4文字の場合49回となります。これをそれぞれ2*2=4回、3*3=9回、4*4=16回…となるように実装したいです。
12
+
13
+
10
14
 
11
15
 
12
16