朴素模式匹配算法与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

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

在这里插入图片描述

相关内容

热门资讯

wpk辅助工具!wepoker... 自定义德普之星透视辅助ios系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器...
透视能赢“wepoker底牌透... 透视能赢“wepoker底牌透视脚本”其实是真的有挂(辅助挂)详细辅助2025新版技巧暗藏猫腻,小编...
透视代打!红龙poker透视,... 透视代打!红龙poker透视,悦扑克脚本(详细辅助可靠教程);悦扑克脚本软件透明挂作为一款悦扑克脚本...
透视app!werplan外挂... 透视app!werplan外挂,欢乐联盟免费辅助(都是真的有挂)1、完成欢乐联盟免费辅助透视辅助安装...
wepoker底牌透视脚本ht... wepoker底牌透视脚本http!拱趴大菠萝挂哪里,aapoker俱乐部靠谱吗(详细辅助透明挂教程...
透视肯定“hhpoker辅助器... 透视肯定“hhpoker辅助器”都是真的有挂(辅助挂)详细辅助透明挂教程辅助器中分为三种模型:软件透...
透视辅助!德普之星辅助器,we... 透视辅助!德普之星辅助器,wepoker私人局俱乐部辅助(详细辅助黑科技教程);支持2-10人实时对...
透视好牌!wepoker辅助是... 透视好牌!wepoker辅助是真的吗,洞庭茶苑app辅助(切实是真的有挂);1、操作简单,无需注册,...
aapoker透视插件!wep... aapoker透视插件!wepoker私人局辅助器怎么用,hhpoker透视方法(详细辅助科技教程)...
透视ai“德普之星透视辅助io... 透视ai“德普之星透视辅助ios”总是有挂(辅助挂)详细辅助揭秘教程1、透视ai“德普之星透视辅助i...