算法思想
首先S和T比较,若相等,则再比较S和T,一直到T[M]为止;若S和T不等,则S向右移动一个字符的位置,再依次进行比较。如果存在k,1≤k≤N,且S[k+1…k+M]=T[1…M],则匹配成功;否则失败。采用计算-加速的编程模型实现并行化,分析评价双缓冲、Mailbox、DMA-list机制对BF算法性能的影响。结果显示,3种机制的单独应用都可以优化BF算法在CellBE上的并行处理性能,任意2种以及3种机制的综合应用都可以不同程度地进一步提升性能,其中3种机制的综合应用使性能达到最优。
该算法最坏情况下要进行M*(N-M+1)次比较,时间复杂度为O(M*N)。
举例说明:
S:ababcababa
T:ababa
基本内容
BF算法BF(BruteForce)算法核心思想是:首先S和T比较,若相等,则再比较S和T,一直到T[M]为止;若S和T不等,则T向右移动一个字符的位置,再依次进行比较。如果存在k,1≤k≤N,且S[k+1…k+M]=T[1…M],则匹配成功;否则失败。该算法最坏情况下要进行M*(N-M+1)次比较,时间复杂度为O(M*N)。下面是用C语言实现:intIndex(SStringS,SStringT,intpos){/*返回子串T在主串S中第pos个字符之后的位置。若不存在,则函数值为0。*//*其中,T非空,1≤pos≤StrLength(S)。



















