今日学习总结
今天在看kmp算法和复习之前学习过的内容,把之前没认真看懂的内容全部又看了一边理解了一遍。
KMP
kmp算法基本的作用是查找一个字符串在另一个字符串中出现的位置(优化算法)。是对暴力算法的优化,暴力算法是在主串中一个一个向后移动的,kmp则是引入了一个前缀和后缀,前缀和后缀是相同的,通过记录前缀和后缀的最大长度来完成在主串中一段一段的移动,比暴力算法好了很多。
这个算法的难点主要是记录前缀后缀最大值很难理解,现在的代码多是优化后的在记录的时候还利用了动态规划的思想。
今天在看kmp算法和复习之前学习过的内容,把之前没认真看懂的内容全部又看了一边理解了一遍。
kmp算法基本的作用是查找一个字符串在另一个字符串中出现的位置(优化算法)。是对暴力算法的优化,暴力算法是在主串中一个一个向后移动的,kmp则是引入了一个前缀和后缀,前缀和后缀是相同的,通过记录前缀和后缀的最大长度来完成在主串中一段一段的移动,比暴力算法好了很多。
这个算法的难点主要是记录前缀后缀最大值很难理解,现在的代码多是优化后的在记录的时候还利用了动态规划的思想。