优化的KMP算法.pptxVIP

  • 5
  • 0
  • 约1.08千字
  • 约 20页
  • 2018-01-09 发布于湖北
  • 举报
优化的KMP算法

分布式存储的并行串匹配算法的设计与分析;Brute-Force(暴力匹配);1,Brute-Force(暴力匹配);首先S[1]和T[1]比较,若相等,则再比较S[2]和T[2],一直到T[M]为止;若S[1]和T[1]不等,则S向右移动一个字符的位置,再依次进行比较。如果存在k,1≤k≤N,且S[k+1…k+M]=T[1…M],则匹配成功否则失败。 该算法最坏情况下要进行M*(N-M+1)次比较,时间复杂度为O(M*N)。 ;S: ababcababa T: ababa BF算法匹配的步骤如下: ;;2,优化前的KMP算法;Next[]函数 ; ;KM P算法 的关键是根据给定的模式串 W [1, m ]定义一个 N ex t函数 。 N ex t函数 包含了模式串本身局部匹 配的信息 。 Nex t 函数的定义如下: ;S: cbaccbacbb T: cbacb KMP算法匹配的步骤如下:;c;3,优化后的KMP算法(分布式串匹配);算法:N ex t函数和 New nex t函数的计算算法 输入: 模式串 W [1, m ] 输出:next [1, m+ 1 ]和 newnext [ 1, m ] pro cedure N EX T begin next [ 1]= newnext [1]= 0 j= 2 while j = m+ 1 do i= next [j- 1] w hile (i! = 0 and W [i ]! = W [j - 1] ) do i= next [i ] endwhile next [j ]= i+ 1 if j! = m+ 1 if W [j ]! = W [i+ 1 ] newnext [j ]= i+ 1 else newnext [ j ]= newnext [i+ 1 ] endif endif j+ + endwhile end ;3.1实验结果 ;b,通信时间的分析 不同周期、不同处 理器数和不同文本串长情况下的通信时间 曲线 ;对 每一组周期串长和处 理器数的组合求出 平均通信时间 , 画出它们与 周期和处 理器数的关 系图;总结:在分布 式存储系统中 , 由于文本串的分 布存储和模式串的 局部存储 ,使 得并行串 匹配算法必 须在尽可 能降 低通信开销的情况下处理段间匹配 . 论文中给出的算法很好地解决了这个问题 , 不仅通信复杂度 很小 ,计算 复杂度 也达到了最优 , 而且还具有较好的可扩展性 。

文档评论(0)

1亿VIP精品文档

相关文档