朴素模式匹配算法与KMP算法(非重点)
创始人
2025-01-09 02:30:40
0

目录

  • 一. 朴素模式匹配算法
    • 1.1 什么是字符串的匹配模式
    • 1.2 朴素模式匹配算法
    • 1.3 通过数组下标实现朴素模式匹配算法
  • 二. KMP算法
    • 2.1 算法分析
    • 2.2 用代码实现(只会出现在选择题,考察代码的概率不大)
  • 三. 手算next数组
  • 四. KMP算法的进一步优化
    • 4.1 优化分析
    • 4.2 手算nextval数组

\quad

一. 朴素模式匹配算法

\quad

\quad

1.1 什么是字符串的匹配模式

\quad

在这里插入图片描述
\quad
在这里插入图片描述

\quad

1.2 朴素模式匹配算法

\quad
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

\quad

1.3 通过数组下标实现朴素模式匹配算法

\quad

在这里插入图片描述
在这里插入图片描述

鄙人所写

int Indexps(SString* a, SString* b) //朴素模式匹配算法 { 	int i = 1, j = 1; 	for (int k = 0; i < a->length - b->length + 1; k++) 	{ 		while(j<=b->length) 		{ 			if (a->ch[i] != b->ch[j]) 			{ 				break; 			} 			i++; 			j++; 		}  		if (j > b->length) 		{ 			return i - b->length; 		}  		i = i - j + 2; 		j = 1;   		if (i >= a->length - a->length + 2) 		{ 			return 0; 		}   	} } 

优化
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

\quad

二. KMP算法

\quad

\quad

2.1 算法分析

\quad

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
\quad
\quad
\quad
第二种情况
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
根据上面的经验,i不变,变的是j,而j是未知, 我们不妨先把j指向0
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

\quad

2.2 用代码实现(只会出现在选择题,考察代码的概率不大)

\quad
先不管next数组如何实现, 会手动算就行

在这里插入图片描述
在这里插入图片描述

\quad

三. 手算next数组

\quad

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

\quad
\quad

使用next数组进行模式匹配
在这里插入图片描述
在这里插入图片描述
练习题
在这里插入图片描述

\quad

四. KMP算法的进一步优化

\quad

\quad

4.1 优化分析

\quad

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

\quad
\quad
\quad
\quad
在这里插入图片描述
在这里插入图片描述
\quad
\quad
不是所有的next数组的值都可以被优化
在这里插入图片描述
\quad

在这里插入图片描述

\quad

4.2 手算nextval数组

\quad

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

相关内容

热门资讯

第7次性普及“都莱大菠萝可以设... 您好:都莱大菠萝可以设置这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的...
玩家必用!福建天天13水插件(... 玩家必用!福建天天13水插件(辅助挂)wpk教程(第三方作弊开挂辅助神器);人气非常高,ai更新快且...
第3分钟了解!凑一桌游戏辅助器... 第3分钟了解!凑一桌游戏辅助器,拱趴大菠萝开挂方法,可靠教程(竟然真的有挂);1、完成凑一桌游戏辅助...
一分钟透视“wepoker插件... 一分钟透视“wepoker插件程序激活码”wpk真(科普开挂透视辅助方法)wepoker插件程序激活...
七次性普及“情怀宜春辅助挂定制... 七次性普及“情怀宜春辅助挂定制交易平台”讲解作弊开挂辅助黑科技(确实是有挂);情怀宜春辅助挂定制交易...
玩家必备攻略!四川换三张辅助器... 玩家必备攻略!四川换三张辅助器(辅助挂)专业教程(新2026作弊开挂辅助器);1.四川换三张辅助器 ...
第8分钟了解!欢乐茶馆可以能赢... 第8分钟了解!欢乐茶馆可以能赢,hhpoker是正品,AI教程(原先是真的有挂);1、很好的欢乐茶馆...
1分钟透视“wepoker有辅... 1分钟透视“wepoker有辅助”wepoker有有挂规律(可靠开挂透视辅助攻略)1、进入游戏-大厅...
第十次性普及“中至余干有挂装”... 第十次性普及“中至余干有挂装”专业作弊开挂辅助挂(原先存在有挂);中至余干有挂装中的10万兆豆可能无...
一分钟揭秘!aapoker可以... 一分钟揭秘!aapoker可以开辅助器(辅助挂)玩家教你(大神作弊开挂辅助下载);一分钟揭秘!aap...