当我遇到这个问题时,我一直在为考试而学习,请各位帮忙
对于模式P和文本T的任何对齐,假设发生不匹配 在执行KMP算法期间P [i + 1]和T [k]有多少 T [k]在执行期间总共进行了比较 KMP算法(SPi未优化)
我遇到的可能解决方案是
- 我-SPI
- SPi的+ 1
- N-1
- 正SPi的
醇>
但在某些情况下所有这些都失败了,
答案 0 :(得分:0)
所有案件都没有单一答案。
仍然可以给出比较次数的上限,并且发现P
中的所有符号是否相同。试试并计算一下。
如果这还不够,请尝试使用此属性:KMP会将T[k]
与P [SP i ]进行比较,然后针对P [SP SP i +1 ]依此类推,直到出现以下两个选项之一:
T[k]
上述两种情况可能会以不同的方式发生,具体取决于P和T,所以不可能给出一个封闭的公式。