next up previous
Next: Pseudocode Up: CSE 2320: Algorithms and Previous: Prefix Array

Pseudocode



Compute-Prefix-Function(P)
$\;\;\;\;\;$m = length(P)
$\;\;\;\;\;$$\pi$[1] = 0 $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$; k must be less than q
$\;\;\;\;\;$k = 0
$\;\;\;\;\;$for q = 2 to m $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$; O(m) amortized
$\;\;\;\;\;$ $\;\;\;\;\;$while k > 0 and P[k+1] $\neq$ P[q]
$\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$k = $\pi$[k]
$\;\;\;\;\;$ $\;\;\;\;\;$if P[k+1] = P[q]
$\;\;\;\;\;$ $\;\;\;\;\;$then k = k + 1 $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$; prefix increased by one
$\;\;\;\;\;$ $\;\;\;\;\;$$\pi$[q] = k
$\;\;\;\;\;$return $\pi$



Copyright © 1998 The University of Texas at Arlington