1. Trang chủ
  2. » Tất cả

7 thuật toán rabin karp chuong 3 rabin karp

2 1 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề 7 Thuật Toán Rabin Karp Chương 3 Rabin Karp
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài Tập
Thành phố Hà Nội
Định dạng
Số trang 2
Dung lượng 24,03 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thuật toán Rabin Karp (1) � Tương tự như Brute Force � Tại mỗi vị trí i trên T, thay vì so sánh chi tiết từng ký tự P[j] với T[i+j] (chi phí O(M)) � Sẽ so sánh hash(P, M) với hash(T, i, M) (chi phí O([.]

Trang 1

Thuật toán Rabin Karp (1)

 Tương tự như Brute Force

 Tại mỗi vị trí i trên T, thay vì so sánh chi tiết từng ký tự P[j] với

T[i+j] (chi phí O(M))

 Sẽ so sánh hash(P, M) với hash(T, i, M) (chi phí O(1))

 Tính hash(P, M)

 hash(P, M) = P[0]*dM-1 + P[1]*dM-2 + + P[M-1]

 Chi phí: O(M)

 Tính hash(T, i, M)

 T[i] đến T[i+(M-1)]

 x = hash(T, i, M) = T[i]*dM-1 + T[i+1]*dM-2 + + T[i+(M-1)]

 Chi phí: O(M)

13/38

Trang 2

Thuật toán Rabin Karp (2)

 Làm sao tính hash(T, i+1, M) ?

 Dịch chuyển sang phải một phần tử

 y = hash(T, i+1, M) = (x - T[i]*dM-1)*d + T[i+M]

 Chi phí: O(1)

14/38

Ngày đăng: 25/03/2023, 13:08

🧩 Sản phẩm bạn có thể quan tâm

w