Mô phỏng thuật toán Băm cuộn Rabin-Karp

Rabin-Karp · Nhóm: Chuỗi

Băm cuộn Rabin-Karp (Rabin-Karp), nhóm Chuỗi.

Mã Python

def rabin_karp(s, p):
    n, m = len(s), len(p)
    hash_pat = hash(p)
    for i in range(n - m + 1):
        hash_win = hash(s[i:i+m])
        if hash_win == hash_pat:
            if s[i:i+m] == p:
                return i
    return -1

Mở trang để xem mô phỏng từng bước và xuất slide bài giảng.