04-4.2.3 KMP 算法求 next 数组

  • 👋 Hi, I’m @Beast Cheng
  • 👀 I’m interested in photography, hiking, landscape…
  • 🌱 I’m currently learning python, javascript, kotlin…
  • 📫 How to reach me --> 458290771@qq.com

喜欢《数据结构》部分笔记的小伙伴可以订阅专栏,今后还会不断更新。🧑‍💻
此外,《程序员必备技能》专栏日后会逐步更新,感兴趣的小伙伴可以点一下订阅、收藏、关注!🚀
谢谢大家!🙏

举例:有一个模式串 google ,分别对应 1~6 ,在 next 数组中也是从 next[1~6]

next 数组的作用:当模式串的第 j 个字符失配时,从模式串的第 next[j] 个继续往后匹配

分析
对于任何模式串来说都一样

  • 第一个字符不匹配时,只能匹配下一个子串,因此,next[1]无脑写 0 即可
  • 第二个字符不匹配时,应该尝试匹配模式串的第一个字符,因此,next[2] 无脑写 1
  • 对于 next[3] 来说,在不匹配的位置的前面,画一条分界线,模式串一步步往后退,知道分界线前的“能对上”,或者模式串完全跨过分界线为止。此时 j 指向哪里,next 数组的值就是多少
  • 对于 next[4], next[5], next[6] 来说和 next[3] 一样

相关推荐

  1. 04-4.2.3 KMP 算法 next 数组

    2024-06-10 16:44:03       36 阅读
  2. 数据结构-KMP算法

    2024-06-10 16:44:03       111 阅读
  3. 数据结构】KMP算法

    2024-06-10 16:44:03       33 阅读
  4. 04-4.2.2 KMP 算法

    2024-06-10 16:44:03       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-10 16:44:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-10 16:44:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-10 16:44:03       82 阅读
  4. Python语言-面向对象

    2024-06-10 16:44:03       91 阅读

热门阅读

  1. 【系统学C++】一、从C语言到C++(一)

    2024-06-10 16:44:03       30 阅读
  2. 关于MySQL 中的全局事务标识符GTID

    2024-06-10 16:44:03       31 阅读
  3. C# - 委托与事件

    2024-06-10 16:44:03       27 阅读
  4. 如何进行《我的世界》基于Spigot的插件开发

    2024-06-10 16:44:03       29 阅读
  5. 前端构建工具总结

    2024-06-10 16:44:03       26 阅读
  6. docker部署mysql+nginx+redis

    2024-06-10 16:44:03       29 阅读
  7. 大数据领域的workload是什么意思?

    2024-06-10 16:44:03       26 阅读
  8. “抖动“ 与工作集

    2024-06-10 16:44:03       24 阅读
  9. GPT大模型微调-提高垂直领域回答质量

    2024-06-10 16:44:03       33 阅读
  10. 关于我做了一个python项目的总结

    2024-06-10 16:44:03       26 阅读
  11. Python 编程时可能会遇到各种错误提示

    2024-06-10 16:44:03       29 阅读
  12. Python 中生成器与普通函数的区别

    2024-06-10 16:44:03       30 阅读
  13. 2024.6.10 刷题总结

    2024-06-10 16:44:03       27 阅读