贪心算法的字符匹配问题
不知道是不是能很清楚的表达问题的意思,有这样一个算法问题,贪心算法的字符匹配问题:
假如有P(要匹配的字符串),T(文本),
P:THEMA
T: HEAR!-THEY-ARE-THERE
这里是没有可以正好匹配的串,也不要求求子串,首先我们看到T的前三个字符,HEA,然后做如下处理:
P不变,T的前三个HEA变成*HE*A:
P: THEMA
*HE*A
这样可以得到其最小补足(score)为2,
然后继续向后面搜索,例如在T的文本段有THEY-..
P: THEMA
THEY-
这里不需要用*补足,最后两位不同,其最小score仍然是2
也可以这样做:
P: THE*MA,或THEM*A
THEY-A
最小score也是2,
以上的score都是2,
如果P是THEME,对于T最后的五个字符THERE,我们可以有socre为1,就是M和R的不相同。
对于以上的这个匹配,现在要设计一个穷举搜索,找到所有可能的配对以及找到一个P在T中最优的解集,这里是解集,而不是唯一optimal解。
想了一阵子,没有什么好的想法来做,而且感觉该程序运行起来一定非常耗时,这里的P和T必须将来是随机输入的。
求好的解决方案,感激!