在算法设计方面,我显然不是火中最明亮的火花,因此我试图理解下面的书练习要求我做什么。鉴于下面的问题,有人可以解释一下排量是什么吗?也许可以解释位移的重新世界相关性?
如果P [1..m] =,假设向量P [1..m]出现在向量T [1..n]中 T [s + 1,..,s + m]为" s"的值。这个" s"的价值是有效的 移位。开发一种算法来查找所有有效的位移 在一个向量中,分析它与'" m"相关的复杂性。和" n"。
答案 0 :(得分:4)
这是一种奇特的说法,“P
是substring T
s
,紧接在 012345678910
P = ra
T = abracadabra
-- --
位后发生。”
例如:
s = 1
您有s = 8
和T[1+1, 1+2] = T[8+1,8+2] = ra
的位移,因为{{1}}。
有many algorithms that can solve this problem。一个受欢迎的好的是KMP。