ComputeD(p) {m = |p|}begin j ← Rnext[m] ← m + 1 for i ← m downto 1 do while j ≤ m and p[i] ≠ p[j] do if D[j] undefined then D[j] ← j − i j ← Rnext[j] od j ← j − 1; Rnext[i − 1] ← j od p ← Rnext[0] for j ← 0 to m do if D[j] undefined then D[j] ← p if j = p then p ← Rnext[p] odend| step | i | j | D | Rnext | action |
|---|