一、串

定义

串V.S线性表

基本操作

比较操作

字符集编码

总结

二、存储结构

顺序存储与堆分配存储


方案二的字符串长度不可以超过255
块链存储

基本操作的实现





三、模式匹配

朴素模式匹配算法



性能分析
最好时间复杂度

最坏时间复杂度

思想总结
四、KMP 算法
简单模式匹配的缺点

改进思想

情况一



情况二

情况三:

4这里有可能多比较一次:因为4和6已经不等,但是1和6相同,这里仍会期待1和6相同,再进行一次比较,所以这里它并不是最优的算法,但是相比于朴素模式匹配,它还是少对比了两次

同理j指向3时少对比1次
总结:

具体代码实现

求next数组



代码实现求next数组

回顾总结

四、KMP 算法
简单模式匹配的缺点

改进思想

情况一



情况二

情况三:

4这里有可能多比较一次:因为4和6已经不等,但是1和6相同,这里仍会期待1和6相同,再进行一次比较,所以这里它并不是最优的算法,但是相比于朴素模式匹配,它还是少对比了两次

同理j指向3时少对比1次
总结:

具体代码实现

求next数组



代码实现求next数组

回顾总结

五、KMP 算法的优化
KMP算法存在的问题

例子2:

总结
