String 坚持使用Apostolico Crochemore算法
我试图理解Apostolico Crochemore算法 我找到的唯一的英文描述是,但我被第二行的描述卡住了 x是单个字符的幂 这是什么意思String 坚持使用Apostolico Crochemore算法,string,algorithm,full-text-search,String,Algorithm,Full Text Search,我试图理解Apostolico Crochemore算法 我找到的唯一的英文描述是,但我被第二行的描述卡住了 x是单个字符的幂 这是什么意思 m在本例中是图案的长度,c是使用中的字母表中的字符。我不明白为什么x==c^m 然后是中的(x=(a^l)bu,中的b,中的u,中的u,中的aneq b,它们也使用了我无法理解的^操作。字符串上的算法有时用正式语言的行话来描述,其中串联字符串的(连接)被写成乘法:x*y,通常只写xy,意思是“字符串x,后跟字符串y”。因此x^n(即“将字符串x提高到n次方
m
在本例中是图案的长度,c
是使用中的字母表中的字符。我不明白为什么x==c^m
然后是
中的(x=(a^l)bu
,中的b
,中的u
,中的u
,中的aneq b
,它们也使用了我无法理解的^
操作。字符串上的算法有时用正式语言的行话来描述,其中串联字符串的(连接)被写成乘法:x*y
,通常只写xy
,意思是“字符串x
,后跟字符串y
”。因此x^n
(即“将字符串x
提高到n
次方”)自然意味着“n
字符串x
的副本,连接在一起”
虽然乘法(普通实数)和字符串串联确实具有一些抽象的数学特性,但这主要只是一种符号化手段。例如,它们都是关联的:(xy)z=x(yz)
,无论我们谈论的是乘法还是连接字符串。(OTOH,xy=yx
通常用于实数,但不用于字符串。但是矩阵乘法也不是可交换的。)太棒了,在没有解释的情况下被降票:(哦,太棒了解释!!所以在我的例子中,这意味着case模式中的l=0只由长度为m的单个字符组成?