Advertisement
konyakov

Python: Алгоритм Кнута–Морриса-Пратта (алгоритм поиска подст

Aug 28th, 2013
479
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.29 KB | None | 0 0
  1. def kmp(s,t):
  2.     index = -1
  3.     f = prefix(s)
  4.     k = 0
  5.     for i in xrange(len(t)):
  6.         while k > 0 and s[k] <> t[i]:
  7.             k = f[k-1]
  8.         if s[k] == t[i]:
  9.             k = k + 1
  10.         if k == len(s):
  11.             index = i - len(s) + 1
  12.             break
  13.     return index
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement