Карб-Рабин упрощен, зачем вообще хеш?
Просматривая мой университетский материал, почему мы должны использовать хеш-функцию для алгоритма поиска строк Карба-Рабина?
Для меня было бы проще просто дать строке значение, выведенное из присвоенного ему значения для каждого символа. Например
A = {A,B,C,D}
v(A) = 0, v(B) = 1, v(C) = 2, v(D) = 3
So v(ABBC) = 112
(0 x 1000) + (1 x 100) + (1 x 10) + (2 x 1)
Это уменьшит время, затрачиваемое на алгоритм, и устранит коллизии.
Есть что-то, чего мне не хватает?