1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Cấu trúc dữ liệu và giải thuật: Các thuật toán tìm kiếm chuỗi - Nguyễn Tri Tuấn (tt)

2 70 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 2
Dung lượng 29,12 KB

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

Nội dung

Bài giảng Cấu trúc dữ liệu và giải thuật: Các thuật toán tìm kiếm chuỗi cung cấp cho người đọc các kiến thức về thuật toán Rabin Karp. Đây là một tài liệu hữu ích dành cho các bạn sinh viên ngành Công nghệ thông tin và những ai quan tâm dùng làm tài liệu học tập và nghiên cứu.

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

CuuDuongThanCong.com https://fb.com/tailieudientucntt

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

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Ngày đăng: 11/01/2020, 17:41

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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