Algorytm Rabina_Karpa

0

Witam
Jak z tego kodu zrobić algorytm Karpa-Rabina. Bez operacji modulo i mnożenia. Czy da się zrobić taki algorytm bez haszowania tekstu i wzorca?

bool CzyJestWzorzec(string W, int DW, char T[], int p)
{
for (int j = 0; j < DW; j++)
{
if ( W[j] != T[p+j] ) { return false; }
}
return true;
}

int LiczbaWystapien(string W, int DW, char T[], int N)
{
int licznik = 0;
for (int i = 0; i <= N - DW; i++)
{
if ( CzyJestWzorzec(W,DW,T,i) ) { licznik++; }
}
return licznik;
}

0

A jak wtedy chciałbyś porównywać wzorzec z tekstem?
Tak jak w naiwnym znak po znaku? To jaki jest tego sens?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0