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

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

在这里插入图片描述

相关内容

热门资讯

5分钟辅助!方片十三张脚本(辅... 5分钟辅助!方片十三张脚本(辅助挂)原来有辅助插件(了解有挂)1、方片十三张脚本有没有辅助教程、方片...
第5分钟了解!wejoker黑... 第5分钟了解!wejoker黑侠辅助器,hardrock作弊,指南书教程(确实有挂)wejoker黑...
一分钟辅助!欢乐达人葫芦鱼辅助... 一分钟辅助!欢乐达人葫芦鱼辅助(辅助挂)总是是真的辅助app(了解有挂)1、完成欢乐达人葫芦鱼辅助辅...
三分钟了解!wepoker黑侠... 三分钟了解!wepoker黑侠辅助器正版下载,哈糖大菠萝有没有挂,绝活儿教程(真的有挂)1、上手简单...
第三分钟辅助!余干辅助软件哪个... 第三分钟辅助!余干辅助软件哪个好(辅助挂)一直有辅助攻略(确实有挂)1、玩家可以在余干辅助软件哪个好...
八分钟了解!wepoker辅助... 八分钟了解!wepoker辅助透视软件,werplan怎么作弊,总结教程(有挂教学)1、下载好wep...
第四分钟辅助!奇迹脚本辅助器手... 第四分钟辅助!奇迹脚本辅助器手机版(辅助挂)确实存在有辅助工具(有挂技巧)1.奇迹脚本辅助器手机版 ...
第5分钟了解!hhpoker透... 第5分钟了解!hhpoker透视脚本,wepoker有辅助插件吗,课程教程(真是有挂)一、wepok...
九分钟辅助!余干5十k外挂(辅... 九分钟辅助!余干5十k外挂(辅助挂)确实真的有辅助软件(有挂辅助)1、全新机制【余干5十k外挂ai辅...
截至发稿!wepoker黑侠破... 截至发稿!wepoker黑侠破解,决战13水辅助,办法教程(有挂教程)1、在决战13水辅助插件功能辅...