算法思想
首先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)。



















