rabin-karp

    11熱度

    3回答

    我正在尋找使用滾動散列函數,所以我可以使用非常大的字符串的n元組哈希值。 例如: 「計算器」,分成5克將是: 「堆」, 「tacko」, 「ackov」, 「ckove」, 「kover」, 「overf」,「verfl」,「erflo」,「rflow」 這是理想的滾動哈希函數,因爲後我計算第一n-gram中的散列,以下物質是相對便宜的計算,因爲我只需刪除第一個散列的第一個字母並添加第二個散列的新

    3熱度

    1回答

    對於這個可能的重複問題抱歉。 我想與Karp Rabin一起使用滾動哈希。我看了滾動哈希的不同實現,我想知道我哪裏出錯了。儘管文本具有該模式,但使用哈希的匹配似乎根本不會發生。 附加(部分)用於計算散列和搜索的代碼。 long hash(char* key, int len) { int j = 0; unsigned long long h = 0; for (j = 0; j < len

    2熱度

    1回答

    我正在解決一些涉及Rabin-Karp字符串搜索算法的問題。該算法要求滾動哈希快於未經檢索的搜索。 This article描述瞭如何實現滾動哈希。我在沒有問題的情況下實現了「Rabin-Karp滾動散列」,並且發現很少實現implementations,但是文章也提到了計算複雜性,並且優選使用循環多項式散列n-gram。它鏈接到BuzHash這種技術的實現,但我不知道如何用它來構建n-gram散