算法

什么是Manacher算法?

什么是Manacher算法?本篇讲解manacher算法,大家在学习之前,提前了解一下两个字符串相算法——kmp和拓展kmp,这些算法都是字符串算法。相对于前面介绍的两个算法,Manacher算法的应用范……

序列自动机概述

序列自动机概述在学习和了解序列自动机前,我们要熟悉自动机,“自动机”一般都指“确定有限状态自动机”。自动机是计算机科学中被广泛使用的一个数学模型,其思想在许多字符串算……

广义后缀自动机概述

广义后缀自动机概述广义后缀自动机的前置知识点是后缀自动机和字典树(Trie树)的相关内容,因为这两个知识点穿插在一起更容易理解和构建知识框架。当我们的是动机如何储存一个字符串的所有子串?该怎么办?怎么做?后缀自动机的作……

后缀自动机(单词的有向无环图)简介

后缀自动机(单词的有向无环图)简介在我们学习后缀自动机之前,一定要先了解什么是自动机?自动机(确定有限状态自动机)是由一个非空有限状态的集合Q、一个输入字母表Σ(非空有限字符的集合)、一个转移函数(单值映射)、一个开始状态……

后缀平衡树简介

后缀平衡树简介在我们学习认识后缀平衡树之前,一定要先了解什么是重量平衡树?所谓的重量平衡树是保证操作影响的最大子树大小是最坏的或均摊的或期望的O(logn)。那什么是后缀平衡树?后缀平衡树是一种动态维护后缀排序的数……

什么是后缀树?

什么是后缀树?说到后缀树,我相信很多人通过名字看出来树是一种结构形态,后缀树就是带后缀的结构,后缀,顾名思义,甚至通俗点来说,就是所谓后缀就是后面尾巴的意思。比如说给定一长度为n的字符串S=S1S2..Si..Sn……

什么是AC自动机?

什么是AC自动机? AC自动机,我知道很多人看到这个会十分好奇,不过这个自动机它又叫做Automaton。我相信大家在初学自动机相关内容时,许多人难以建立对自动机的初步印象,尤其是在自学的时侯。让我们切入正题,通过这段时……

自动机(确定有限状态自动机)

自动机(确定有限状态自动机)这里的“自动机”指的是”确定有限状态自动机”。而自动机是信息学奥林匹克竞赛、计算机科学中被广泛使用的一个数学模型,其思想在许多字符串算法中都有涉及,学习……

KMP和Z函数

KMP和Z函数KMP和Z函数,首先要先了解什么是KMP,把KMP了解了,使用Z函数就能更加顺手。很多人初次接触KMP的时候,思路很容易混乱,导致写出来的程序也很混乱。Knuth-Morris-Pratt字符串查找算……

Boyer-Moore算法图文讲解

Boyer-Moore算法图文讲解说到Boyer-Moore算法,它是一个字符串算法,这个算法追求的就是每次匹配,一般发现失败了,要往前移动尽可能多的距离,少算一点是一点。为了实现这个目标,首先算法选择的就是从pattern的尾部开始……