相关疑难解决方法(0)

Rabin Karp字符串匹配算法

我在网站的论坛上看到了这个Rabin Karp字符串匹配算法,我有兴趣尝试实现它,但我想知道如果有人能告诉我为什么变量ulong Q和ulong D分别是100007和256:S ?这些价值观带有什么意义?

static void Main(string[] args)
{
    string A = "String that contains a pattern.";
    string B = "pattern";
    ulong siga = 0;
    ulong sigb = 0;
    ulong Q = 100007;
    ulong D = 256;
    for (int i = 0; i < B.Length; i++)
    {
        siga = (siga * D + (ulong)A[i]) % Q;
        sigb = (sigb * D + (ulong)B[i]) % Q;
    }
    if (siga == sigb)
    {
        Console.WriteLine(string.Format(">>{0}<<{1}", A.Substring(0, B.Length), A.Substring(B.Length)));
        return;
    }
    ulong pow …
Run Code Online (Sandbox Code Playgroud)

c# string algorithm rabin-karp

14
推荐指数
2
解决办法
4233
查看次数

标签 统计

algorithm ×1

c# ×1

rabin-karp ×1

string ×1