Microsoft Word P1 © Nguyen Tri Tuan – Khoa CNTT, trường ĐH KHTN ĐHQG HCM 1/1 CẤU TRÚC DỮ LIỆU & GIẢI THUẬT BÀI TẬP PROJECT 1 (P1) oOo 1 Thời gian từ 28/9 đến 8/10 Tổng điểm=6 2 Cài đặt thuật toán tìm[.]
CẤU TRÚC DỮ LIỆU & GIẢI THUẬT BÀI TẬP PROJECT (P1) -oOo Thời gian: từ 28/9 đến 8/10 Tổng điểm=6 Cài đặt thuật tốn tìm kiếm chuỗi Rabin-Karp KMP Yêu cầu: - Chương trình nhận vào file P.txt file T.txt, sau xuất kết file output.txt - VD chạy chương trình với lệnh sau: C:\>P1.exe P.txt T.txt output.txt - Chương trình search chuỗi P chuỗi T thuật tốn Rabin-Karp KMP, kết tìm kiếm xuất file output.txt theo mẫu sau - Với thuật toán Rabin-Karp, sử dụng hàm hash sau: Hash(P,M)=P[0]+P[1]+…+P[M-1] P.txt RABIN EXAMPLE TEST STRINGS File chứa chuỗi P, chuỗi dòng chuỗi P1 chuỗi P2 chuỗi P3 chuỗi P4 T.txt GNIRTS ELPMAXE NA PMK DNA PRAKNIBAR GNITSET ROF GNIRTS ELPMAXE NA AN EXAMPLE STRING FOR TESTING RABINKARP AND KMP File chứa chuỗi T chuỗi T (1 dòng) output.txt Rabin-Karp RABIN: true, pos=xx, k EXAMPLE: true, pos=xx, k TEST: true, pos=xx, k STRINGS: fail File chứa kết chương trình kết tìm kiếm Rabin-Karp true: tìm thấy, fail: khơng tìm thấy pos: vị trí tìm thấy k: số lần phải so sánh chi tiết P[j] T[i+j], hash(P,M) == hash(T,i,M) KMP RABIN: true, pos=xx + NEXT: -1 x x x x EXAMPLE: true, pos=xx + NEXT: -1 x x x x x x TEST: true, pos=xx + NEXT: -1 x x x STRINGS: fail + NEXT: -1 x x x x x x kết tìm kiếm KMP NEXT: giá trị bảng NEXT chuỗi P Điểm Đúng true/fail: đ Đúng pos: đ Đúng k: đ Đúng true/fail: đ Đúng pos: đ Đúng NEXT: đ - Hết - © Nguyen Tri Tuan – Khoa CNTT, trường ĐH.KHTN ĐHQG-HCM 1/1