finished filling out similarity matrix
git-svn-id: svn://anubis/gvsu@164 45c1a28c-8058-47b2-ae61-ca45b979098e
This commit is contained in:
parent
5c6b5ad3e1
commit
e85aa39946
@ -45,9 +45,37 @@ void similarityMatrix(vector<char> & s, vector<char> & t)
|
|||||||
{
|
{
|
||||||
int s_size = s.size();
|
int s_size = s.size();
|
||||||
int t_size = t.size();
|
int t_size = t.size();
|
||||||
unsigned int F[s_size][t_size];
|
int F[s_size][t_size];
|
||||||
for (int i = 0; i < t_size; i++)
|
for (int i = 0; i < t_size; i++)
|
||||||
F[0][i] = 0;
|
F[0][i] = 0;
|
||||||
for (int i = 0; i < s_size; i++)
|
for (int i = 0; i < s_size; i++)
|
||||||
F[i][0] = 0;
|
F[i][0] = 0;
|
||||||
|
for (int i = 1; i < s_size; i++)
|
||||||
|
{
|
||||||
|
for (int j = 1; j < t_size; j++)
|
||||||
|
{
|
||||||
|
F[i][j] =
|
||||||
|
max(
|
||||||
|
max(
|
||||||
|
F[i][j-1] - 2,
|
||||||
|
F[i-1][j-1] + (s[i] == t[j] ? 1 : -1)
|
||||||
|
),
|
||||||
|
max(
|
||||||
|
F[i-1][j] - 2,
|
||||||
|
0
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#if 0
|
||||||
|
cout << "Matrix: " << s_size << " x " << t_size << endl;
|
||||||
|
for (int i = 0; i < s_size; i++)
|
||||||
|
{
|
||||||
|
for (int j = 0; j < t_size; j++)
|
||||||
|
{
|
||||||
|
printf("%02d ", F[i][j]);
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user