关于字符串的一些常考的概念
1.回文:
回文字符串就是一个字符串,从左到右和从右到左都相同,例如“abba”,关于回文的算法题:判断是否为,回文;最长回文子串,一个字符串中有多少回文子串。还有求和回文串有数字组成;
2.子串:
串中任意个连续的字符组成的子序列称为该串的子串。常见的算法题有:最大子串(字符不重复),最长公共子串,
3.子序列:
相比于子串,子序列就是了可以不连续;常见的算法题是:dp题,最大子序列和问题,最长公共子序列,最长的增长子序列,子序列排序。。
4.Trie树
Trie树,又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。核心思想是以空间换时间(内存消耗非常大);常出现的算法题有
5.后缀树
后缀树提出的目的是用来支持有效的字符串匹配和查询。一个具有m个词的字符串S的后缀树T,就是一个包含一个根节点的有向树,该树恰好带有m个叶子,这些叶子被赋予从1到m的标号。 每一个内部节点,除了根节点以外,都至少有两个子节点,而且每条边都用$的一个非空子串来标识。出自同一节点的任意两条边的标识不会以相同的词开始。后缀树的关键特征是:对于任何叶子i,从根节点到该叶子所经历的边的所有标识串联起来后恰好拼出S的从i位置开始的后缀,即S[i,…,m]。树中节点的标识被定义为从根到该节点的所有边的标识的串联。
6.匹配
就是在一个大的字符串中搜索某个相对较小的字符串出现的位置。常使用的就是kmp算法。
7.字典序
字典序就是指对给定的字符串,按照首字母的字典序排序。