字符串

Java对象的字符串表示

Java对象的字符串表示通过之前的学习我们知道,所有的类都默认是java.lang包中Object类的子类或间接子类。Object类中有一个publicStringtoString()方法,一个对象通过调用该方法可以获得该对……

什么是后缀树?

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

字符串的测试方法

字符串的测试方法字符串中会包含多种类型的数据,像整数、大小写字母、符号和转义字符。我们要判断字符串中是否包含相应数据类型的字符,就需要借助测试方法。常用的测试方法有isalnum()、isalpha()、isdigi……

字典树(trie)/前缀树(Prefix Tree)实例讲解

字典树(trie)/前缀树(Prefix Tree)实例讲解对于字典树/前缀树可能大部分情况很难直观或者有接触的体验,尤其是对前缀这个玩意没啥概念,可能做题遇到前缀问题也是使用暴力匹配蒙混过关,如果字符串比较少使用哈希表等结构可能也能蒙混过关,但如果字符串比较……

字符串的KMP算法详解及C/C++代码实现

字符串的KMP算法详解及C/C++代码实现1.原由紧接上文,我们知道了暴力匹配的算法在时间运行上的缺陷,假设字符串T的长度为n,字符串P的长度为m,则整个算法的时间复杂度为O(n*m),而对于一个复杂的现实情况而言n>&……

C++标准库中的字符串

C++标准库中的字符串一、C++字符串C++提供了以下两种类型的字符串表示形式:(1)C风格字符串(2)C++引入的string类类型二、C风格字符串C风格的字符串起源于C语言,并在C++中继续得到支持。字符串实际上是使用……

什么是Lyndon分解?

什么是Lyndon分解?我们定义一个串是Lyndon串,当且仅当这个串的最小后缀就是这个串本身。该命题等价于这个串是它的所有循环表示中字典序最小的。引理1:如果u和v都是Lyndon串并且u<v,则uv也是Ly……

后缀平衡树简介

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

字符串修改、搜索和替换方法

字符串修改、搜索和替换方法使用字符串的过程中或多或少我们要将字符串中的内容进行修改,虽然字符串是不可改变的,但是我们可以使用方法来返回修改后的副本。下面我们将介绍几种常用的字符串修改方法,分别是lower()、upper()、……

Java字符串与字符数组

Java字符串与字符数组我们已经知道String类的构造方法String(chara[])和String(chara[],intoffset,intlength)分别用数组a中的全部字符和部分字符创建字符串对象。String……