- 13
- 0
- 约 26页
- 2017-07-02 发布于湖北
- 举报
数据结构4_串
* * 讨论: 若n为主串长度,m为子串长度,则串的BF匹配算法 最坏的情况下需要比较字符的总次数为 BF算法的时间复杂度 (n-m+1)*m=O(n*m) 最好的情况是:一配就中! 只比较了m 次。 KMP算法(特点:速度快) KMP算法设计思想 KMP算法的时间复杂度 * * ① KMP算法设计思想: (参见教材P80-84) * * 尽量利用已经部分匹配的结果信息,尽量让i不要回溯,加快模式串的滑动速度。 例: S=‘a b a b c a b c a c b a b’ T=‘a b c a c’ S=‘a b a b c a b c a c b a b’ T=‘a b c a c’ S=‘a b a b c a b c a c b a b’ T=‘a b c a c’ Index_kmp的返回值应为i=6 i i i k k a b a a b c k i i i-T[0] ④ KMP算法的时间复杂度 注意:由于BF算法在一般情况下的时间复杂度也近似于O(n+m),所以至今仍被广泛采用。 * * 而此时KMP的情况是:由于指针i无须回溯,比较次数仅为n,即使加上计算next[j]时所用的比较次数m,比较总次数也仅为n+m=O(n+m),大大快于BF算法。 回顾BF的最恶劣情况:S与T之间存在大量的部分匹配,比较总次数为: (n-m+1)*m=O(n*m) 因为主串指针i
您可能关注的文档
- 数字时钟设计(完全数字电路).doc
- 数字电视制播技术.ppt
- 数字电路总复习 时序逻辑电路.ppt
- 数字电路-Chapter1.ppt
- 数字电路第4章(5加法器)_2.ppt
- 数字电路期中习题课.ppt
- 数字签名技术chap 6.ppt
- 数字逻辑 第三章 加法器.ppt.ppt
- 数字钟最终版本.doc
- 数字时钟电路制作与调试.ppt
- 清明节高中下学期主题班会课件.pptx
- 统编版语文一年级下册课件《语文园地三》.pptx
- 统编版语文一年级下册课件《语文园地六》.pptx
- 一例ECMO术患者的个案护理.pptx
- 2.12 辽宋夏金元时期经济的繁荣 课件 2025-2026学年统编版七年级历史下学期.pptx
- 一例重症肺炎患者改善肺功能的循证个案护理.pptx
- 青春不“翻车”:电动车安全小贴士 高中下学期主题班会.pptx
- 主动脉夹层破裂的急救护理.pptx
- Unit 3 My school calendar Part A let's spell 课件(内嵌音视频)2025-2026学年人教PEP版英语五年级下册.pptx
- 乳糜尿的微生物学分析.pptx
原创力文档

文档评论(0)