Lyndon Factorization · Nhóm: Chuỗi
Phân tích Lyndon (Duval) (Lyndon Factorization), nhóm Chuỗi.
def duval(s):
n = len(s)
i = 0
while i < n:
j, k = i + 1, i
while j < n and s[k] <= s[j]:
if s[k] < s[j]:
k = i
else:
k += 1
j += 1
while i <= k:
yield s[i:i + j - k]
i += j - k
Mở trang để xem mô phỏng từng bước và xuất slide bài giảng.