字符串
文章平均质量分 93
nan(not a number) 学不会
cwplh
梦想终将引领着你,走向万丈光芒。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Manacher(马拉车算法)详解
马拉车算法(Manacher Algorithm)是一种在O(n)时间复杂度内求解最长回文子串的高效算法。它通过在字符间插入特殊符号(如#)统一处理奇偶长度回文串。算法的核心思想是利用回文串的对称性,通过已知信息优化计算:维护当前最右回文串的中心c和半径r[c],对于新位置i,根据其对称点j的信息快速确定初始半径,再暴力扩展。相比传统O(n^2)方法大幅提升了效率。该算法代码简洁,只需一次遍历即可找到最长回文子串。原创 2025-08-21 19:37:30 · 664 阅读 · 0 评论 -
KMP 详解
KMP算法详解:一种高效的字符串匹配技术 KMP算法由Knuth、Pratt和Morris三位科学家提出,解决了传统暴力字符串匹配效率低下的问题。该算法通过分析模式字符串的最长公共前后缀,避免不必要的比较操作,将时间复杂度从O(nm)优化到O(n+m)。核心在于构建next数组,记录模式字符串的匹配失败时应该回溯的位置。文章详细讲解了暴力枚举法的缺陷、KMP算法的思想精髓、next数组的构建过程以及完整的KMP实现代码,并附有图解说明。该算法思想深刻,代码简洁优美,是字符串处理领域的重要突破。原创 2025-07-15 08:24:21 · 879 阅读 · 0 评论 -
字典树(Trie 树)详解
本文介绍了Trie树的基本概念和应用。Trie树是一种用于处理字符串前缀问题的树形结构,通过将字符串的字符作为边来构建树,每个字符串的末尾节点会被标记。文章通过图示和代码展示了Trie的构建过程,并对比了暴力解法与Trie解法在查询问题上的效率差异,说明Trie能有效降低时间复杂度。最后预告下一篇文章将讲解AC自动机。原创 2025-07-16 19:33:13 · 1063 阅读 · 0 评论
分享