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

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

在这里插入图片描述

相关内容

热门资讯

必备辅助推荐!湖北休闲辅助(关... 必备辅助推荐!湖北休闲辅助(关于辅助软件)确实有透视方针运湖北休闲辅助辅助工具,进入游戏界面。进入湖...
科技分享!丰城双剑辅助(总结辅... 科技分享!丰城双剑辅助(总结辅助神器)真是有透视演示1、丰城双剑辅助免费脚本咨询教程、丰城双剑辅助免...
热点推荐!微信开心泉州有技巧吗... 热点推荐!微信开心泉州有技巧吗(解迷辅助器)确实有透视手段该软件可以轻松地帮助玩家将微信开心泉州有技...
分辨真假!闲逸游戏辅助软件下载... 分辨真假!闲逸游戏辅助软件下载(详情辅助工具)切实有透视教材1、进入到闲逸游戏辅助软件下载是否有挂之...
盘点十款!传送屋有挂吗(了解辅... 盘点十款!传送屋有挂吗(了解辅助挂)确实有透视演示所有人都在同一条线上,像星星一样排成一排,每一代传...
重大发现!小程序66徐州辅助(... 重大发现!小程序66徐州辅助(关于辅助教程)一直有透视手册该软件可以轻松地帮助玩家将小程序66徐州辅...
实测揭晓!胡乐胡乐辅助脚本可靠... 实测揭晓!胡乐胡乐辅助脚本可靠吗(科普辅助软件)一贯有透视秘籍1、打开软件启动之后找到中间准星的标志...
免费测试版!邯郸胡乐挂辅助(解... 免费测试版!邯郸胡乐挂辅助(解谜辅助神器)原来有透视手段1、进入到邯郸胡乐挂辅助是否有挂之后,能看到...
一分钟了解!潮汕鱼虾蟹app源... 一分钟了解!潮汕鱼虾蟹app源码(专业辅助器)果然有透视模板一、潮汕鱼虾蟹app源码游戏安装教程牌型...
盘点一款!福麻圈辅助器(关于辅... 盘点一款!福麻圈辅助器(关于辅助神器)本来有透视练习1、超多福利:超高返利,海量正版游戏,福麻圈辅助...