Published onDecember 11, 2024Aho-Corasick算法algorithmAho-Corasick 算法是一种高效的多模式字符串匹配算法,通过构建 Trie 和失败指针,实现快速匹配多个模式,广泛应用于文本过滤、生物信息学和网络安全等领域。
Published onDecember 11, 2024差分数组algorithm差分数组是一种高效处理区间更新的数据结构,通过记录变化量实现快速更新。它将区间操作的时间复杂度从 O(n) 降低到 O(1),适用于频繁更新的场景,如区间加法、乘法和赋值。
Published onDecember 11, 2024Manacher算法algorithmManacher算法是一种高效的算法,用于在O(n)时间复杂度内找到字符串中最长的回文子串。通过预处理字符串和利用对称性,该算法能够快速更新和计算回文子串的长度,是解决回文问题的经典方法。
Published onDecember 11, 2024后缀数组algorithm后缀数组是一种高效的字符串处理数据结构,存储字符串所有后缀的字典序排序。它在字符串匹配、最长公共前缀计算和重复子串查找等问题中应用广泛。通过倍增算法构建,时间复杂度为 O(n log n)。
Published onDecember 11, 2024字典树(Trie)algorithm字典树(Trie)是一种高效的树形数据结构,用于存储和快速查找字符串集合。它通过共享公共前缀来节省空间,适用于自动补全、拼写检查和IP路由等场景。
Published onNovember 6, 2024树状数组(Binary Indexed Tree/Fenwick Tree)详解algorithm树状数组是一种高效的数据结构,用于处理前缀和查询和单点修改的问题。它通过二进制分段的方式,实现高效的修改和查询操作。相比线段树,它的实现更简单,常数更小,但功能相对受限。在实际应用中,如果问题可以用树状数组解决,它通常是比线段树更好的选择。
Published onNovember 6, 2024线段树(Segment Tree)详解algorithm线段树是一种高效的数据结构,用于处理区间查询和修改操作。它通过将区间划分为多个小区间,并用树状结构管理这些区间的数据,从而在查询和修改操作之间取得了很好的平衡。