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.补充资料