斐波那契文本序列特殊属性

时间:2014-02-27 23:35:01

标签: regex math

有谁能告诉我有关斐波那契数字/文字表示的一些特殊属性。更具体地说,我感兴趣的是子词或单词或哪些索引部分或完全匹配。

例如

w0 = a
w1 = b
w2 = ba
w3 = **b**a**b** - 0 and 2nd index match for w3
w4 = **ba**b**ba** - here the first two and last two indexes match and so on.

换句话说,你知道斐波那契词的任何特殊模式匹配属性吗?或者如果你能在这个主题上知道一些很好的资料来源。

由于

1 个答案:

答案 0 :(得分:0)

可用于它的东西称为“边界数组”,它是数组,在String的给定位置显示最长的前缀也是后缀。

Algorithm Border Array Construction
Output: Border array H for string w (stored in array of char "x").
1: H[1] ← 0
2: for i ← 1..(n − 1) do
3: b ← H[i]
4: while b > 0 and x[i + 1] != x[b + 1] do
5: b ← H[b]
6: end while
7: if x[i + 1] = x[b + 1] then
8: H[i + 1] ← b + 1
9: else
10: H[i + 1] ← 0
11: end if
12: end for

示例:

  1 2 3 4 5 6 7 8 9
x a b a a b a b a ∗
H 0 0 1 1 2 3 2 3 ?