c. Ví dụ minh họa cho thuật toán tính hàm tiền tố:
1.3.193. S: bacbaba babacaab
1.3.194. P : á b a b a c a
1.3.195. Thấy P[l] = SỊa] => q = 1, không dịch chuỗi p mà so sánh tiếp ký tự tiếp theo.
- Bước 3: Với i = 3, q = 1 so sánh P[2] và S[3]:
1.3.196. S : b a c b a b a b a b a c a a b
1.3.197. P :
a b a b a c a
1.3.198. Thấy P[2] ^ S[3] => q = n ( l ) = 0, không so sánh tiếp và dịch chuỗi p sang phải so với chuỗi s 2 vị trí để có thể so sánh ở bước tiếp theo là so sánh P[l] và S[4].
- Bước 4: Với i = 4, q = 0, so sánh P[l] và S[4]:
1.3.199. S : b a c b a b a b a b a c a a b
1.3.200. a b a b a c a
1.3.201. Thấy P[l] ^ s[4] => q = 0, không so sánh tiếp và dịch chuỗi p
1.2.43.
- Bước 5: Với q = 0; i = 5, so sánh P[l] và S[5]:
1.3.202. S : b a c b a b a b a b a c a a b
1.3.203. t
1.3.204. P : a b a b a c a
1.3.205. Thấy P[l] = S[5] => q = 1, không dịch chuỗi p mà so sánh ký tự tiếp 1.3.206. theo. - Bước 6: Với q = 1; i = 6, so sánh P[2] và S[6]: 1.3.207. S : b a c b a b a b a b a c a a b 1.3.208. y 1.3.209. P : a b a b a c a
1.3.210. Thấy P[2] = s [6] => q = 2, không dịch chuỗi p mà so sánh ký tự tiếp 1.3.211. theo. - Bước 7: Với q = 2; i = 7, so sánh P[3] và S[7]: 1.3.212. S : b a c b a b a b a b a c a a b P : a b a b a c a
1.3.213. Thấy P[3] = s[7] => q = 3, không dịch chuỗi p mà so sánh ký tự tiếp
1.3.214. theo.
- Bước 8: Với q = 3; i = 8, so sánh P[4] và S[8]:
1.3.215. S : b a c b a b a b a b a c a a b
1.3.217. P : a b a b a c a
1.3.218. Thấy P[4] = S[8] => q = 4, không dịch chuỗi p mà so sánh ký tự tiếp theo.
- Bước 9: Với q = 4; i = 9, so sánh P[5] và S[9]:
1.3.219. S : b a c b a b a b a b a c a a b
1.3.220. Î
1.3.221. P : a b a b a c a
1.3.222. Thấy P[5] = s [9] => q = 5, không dịch chuỗi p mà so sánh ký tự tiếp 1.3.223. theo. - Bước 10: Với q = 5; i = 10, so sánh P[6] và S[10]: 1.3.224. S : b a c b a b a b a b a c a a b P : a b a b a c a
1.3.225. Thấy Р[6] Ф S[10] => q = П[6] = 3, không so sánh ký tự tiếp theo mà dịch p sang phải so với chuỗi s 2 vị trí để có thể so sánh P[4] và S[10]. Mà P[4] = S[10] => q = 4
- Bước 11: Với q = 4; i = 11, so sánh P[5] và S[11]:
1.3.226. S : b a c b a b a b a b a c a a b
1.3.227.I
1.3.228. P : a b a b a c a
1.3.229. Thấy P[5] = S[11] => q = 5, không dịch chuỗi p mà so sánh ký tự tiếp
1.3.230. theo.
1.3.231. S :
b a c b a b a b a b a c a a b P :a b a b a c a