字符串搜索算法

http://dsqiu.iteye.com/blog/1700312

 

BF(Brute Force)算法

1.思想

2.编程实现

暴力算法,又称朴素算法,是最基本的字符串搜索算法,当然也是效率最低的算法.

3.时间复杂度

时间复杂度为O(m*n) //m与n分别为2个字符串的长度

4.补充资料

 

KMP(Knuth-Morris-Pratt)算法 

1.思想

2.编程实现

暴力算法,又称朴素算法,是最基本的字符串搜索算法,当然也是效率最低的算法.

3.时间空间复杂度

4.补充资料

http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html

BM(Boyer-Moore)算法

1.思想

2.编程实现

3.时间复杂度

时间复杂度为O(m+n) //m与n分别为2个字符串的长度

4.补充资料

http://www.ruanyifeng.com/blog/2013/05/boyer-moore_string_search_algorithm.html

http://www.stoimen.com/blog/2012/04/17/computer-algorithms-boyer-moore-string-search-and-matching/

 

Sunday算法

在实用方面,KMP算法并不比最简单的c库函数strstr()快多少,而BM算法则往往比KMP算法快上3-5倍。

但是BM算法还不是最快的算法,还有一种Sunday算法,它是BM算法的一种改进型。

1.思想

2.编程实现

3.时间空间复杂度

4.补充资料

http://blog.sina.com.cn/s/blog_4b3d71b50100n8vy.html

    原文作者:LubinLew
    原文地址: https://www.cnblogs.com/LubinLew/p/4471013.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞