Tải bản đầy đủ (.pdf) (4 trang)

Cấu trúc dữ liệu và giải thuật (phần 14) potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (93.08 KB, 4 trang )

Boyer
Boyer
-
-
Moore
Moore
 Ví dụ:
P= m=5, j=m-1=4
T= n=12,s=0
1. T[4+0] # P[4]  j=4,k=last(T[4],P)=3,s=0+1=1
2. s=1,j=4,T[4+1] = P[4]  j=4-1=3
3. T[3+1] = P[3]  j=3-1=2
4. T[2+1] # P[2]  j=2,k=last(T[3],P)=4,s=1+1=2
5. s=2,j=4,T[4+2] # P[4] j=4,k=last(T[6],P)=2, s=2+2=4
6. s=4,j=4,T[4+4] = P[4]  j=4-1=3
0 1 2 3 4
A B C A B
0 1 2 3 4 5 6 7 8 9 10 11
A C B B A B C A B A B C
Boyer
Boyer
-
-
Moore
Moore
 Ví dụ:
P= m=5, j=m-1=4
T= n=12,s=0
7. s=4,j=3,T[3+4] = P[3]  j=3-1=2
8. s=4,j=2,T[2+4] = P[2]  j=2-1=1
9. s=4,j=1,T[1+4] = P[1]  j=1-1=0


10. s=4,j=0,T[0+4] = P[0]  j=0-1=-1
 Tìm thấy P trong T tại s=4
0 1 2 3 4
A B C A B
0 1 2 3 4 5 6 7 8 9 10 11
A C B B A B C A B A B C
Boyer
Boyer
-
-
Moore
Moore
 Đánh giá thuật toán:
- Hàm Last: O(m+n)
- Boyer-Moore: Tình huống xấu nhất O(mn+n)
- VD: P=ba
m-1
; T=a
n
Boyer
Boyer
-
-
Moore
Moore
 Bài tập:
1. Tìm Prefix của mẫu sau:
a. ABABBC
b. BBABBA

×