Изменения

Перейти к: навигация, поиск

Алгоритм Shift-And

187 байт добавлено, 01:44, 9 июня 2014
Псевдокод
===Псевдокод===
'''string''' bitap_searchshiftAndSearch('''string''' text, '''string''' pattern):
n = pattern.length
m = text.length
'''if''' n == 0
'''return''' text
M = new array [n] of bit <font color=green> // для поиска коротких слов достаточно одной переменной типа '''integer''' </font>
fill(M, 0)
U = new array [<tex>|\Sigma|</tex>][n] of bit, initially all <font color=green> // изначально все элементы равны <tex> 0</tex> </font> '''for''' i = 1..n <font color=green> // препроцессинг {{- --}} вычисление вектора <tex> U</tex> </font>
U[pattern[i]][i] = 1
'''for''' j = 1..m

Навигация