定义
串是由零个或多个字符组成的有限序列,又名字符串。
操作
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8a77383d80cb79e5c4003d2c10083210.png)
存储结构
顺序存储结构
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a7c343a60242bbba11d2e7efe96a1393.png)
链式存储结构
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/28346d5af9e2531bfdf2fcacd72ec132.png)
模式匹配算法
子串的定位操作通常称为串的模式匹配
朴素的模式匹配算法
平均时间复杂度: O(m + n)
最坏时间复杂度:O((n - m + 1) * m)
KMP模式匹配算法
next 数组值
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/701f3c04e5ef12a15dd8571b42f574e1.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c580aea86fdf999c2fa9381e6085ad1c.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d7d75ea1b24e852fc0175e6afbfb27d4.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c776a32eb9c2b7252dcbb39ac4d90fcd.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/89382fb0340719e656fe18bc033daf8e.png)
模式匹配算法改进
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a0a81dbbffbb4605640dea6cf8d59698.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9cf355aaa47e75ec552ecc024dc2c907.png)
总结改进过的KMP算法,它是在计算出next值的同时,如果A位字符与它next值指向的b位字符相等,则该a位的nextval就指向b位的nextval值,如果不等,则该a位的nextval值就是它自己a位的next值。