字符串匹配2

字符串匹配:一个模式p,p是字符串,长度为m;一个文本T,长度为n;我们要做的就是找到所有的偏移量S,使得p(m)为tT(s+m)的后缀。

常用算法:朴素字符串匹配算法(无预处理,有匹配阶段),RK算法(有预处理阶段,有匹配阶段),自动机算法(有预处理阶段,有匹配阶段),

                     KMP算法(有预处理阶段,有匹配阶段)

时间复杂度:预处理时间+匹配时间


朴素字符串匹配算法:太规矩,太朴素了,当匹配失败时?没有利用这些信息。

后面三种,则都利用到了这些信息。 并且,KMP,和自动机算法有点类似。


**********************************************************************************************

看了,这篇文章,通俗易懂啊!半小时内,对字符串匹配算法的常用套路和思想,都有了个轮廓。谢谢啊、

http://blog.csdn.net/qingen1/article/details/39449547

http://blog.csdn.net/ijuliet/article/details/4200771

幸好没有死磕算法导论。

以后应该这样学习。算法导论,第一次看某个知识点,能理解多少理解多少,主要思考它讲述的脉路。

然后,找些通俗易懂,最好白话点的博客看啊!对,我还是喜欢 白话点的口味的。这个很重要,好的博客,能把脉络,整体思路梳理的很到位,事半功倍。

刚才看那篇博客:

知道kmp很难搞懂,不过还是要搞懂的。因为面试什么的,肯定会问的。

kmp,bp,sunday,

rk(思路很新颖,与前面的算法思路差距比较大),利用模的思想,利用到hash函数的思想。利用的是模式串的整体特征,很厉害啊,能够想到使用整体特征。先前,我们的方法是字符之间的比较,使用的是 部分的特征之间进行比较

思路:模式串p(长度m),匹配字符串(长度n),对于n中所有长度为m的字符串。当字符串和模式串对应的hash值相同时,才有可能(不是一定)是匹配的。

难点:“模式串的特征值仅需求一次即可。对于文本中的任意m个字符构成的字串如何快速的求特征就是个难点了

           这里给出一个简单的特征计算的方法” (说明,特征计算的方法不止一种喔。嘿嘿)




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值