$KMP(T: \sum [n]; P: \sum [m]; S : \mathbb{N} \{\})$ |
$\pi/1: \mathbb{N} [m]$ | ||||||
$init(\pi, P)$ | ||||||
$S := \{\}$ | ||||||
$i := 0$ | ||||||
$j := 0$ | ||||||
$i < n$ | ||||||
$T[i] = P[j]$
|
||||||
$i := i + 1$ |
$j = 0$
|
|||||
$j := j + 1$ | $i:=i+1$ | $j:=\pi[j]$ | ||||
$j = m$
|
||||||
$S := S \cup \{i-m\}$ | $\text{SKIP}$ | |||||
$j := \pi[j]$ |
$init(\pi/1: \mathbb{N}[m]; P: \sum [m])$ |
$\pi[1] := 0$ | |||||
$i := 0$ | |||||
$j := 1$ | |||||
$j < m$ | |||||
$P[i] = P[j]$
|
|||||
$i := i + 1$ |
$i = 0$
|
||||
$j := j + 1$ | $j := j + 1$ | $i :=\pi[i]$ | |||
$\pi[j] := i$ | $\pi[j] := 0$ |
Az alábbi feladatok a gyakorlatokon elvégzendő kötelező, illetve gyakorló feladatok.