2009-08-20 40 views
20

Tôi đang làm một số công việc với thuật toán của Ukkonen để xây dựng cây hậu tố, nhưng tôi không hiểu một số phần của lời giải thích của tác giả vì nó phức tạp về thời gian tuyến tính.Hiểu thuật toán của Ukkonen cho hậu tố cây

Tôi đã học được thuật toán và đã mã hóa nó, nhưng giấy mà tôi đang sử dụng làm nguồn thông tin chính (được liên kết dưới đây) rất khó hiểu ở một số phần nên không rõ ràng tại sao thuật toán là tuyến tính .

Bất kỳ trợ giúp nào? Cảm ơn.

Liên kết với giấy Ukkonen của: http://www.cs.helsinki.fi/u/ukkonen/SuffixT1withFigs.pdf

+5

Đối với bất kỳ ai tìm thấy câu hỏi này: Một câu hỏi tương tự đã xuất hiện [ở đây] (http://stackoverflow.com/q/9452701/777186) và chúng tôi đang tạo mô tả thuật toán dưới dạng câu trả lời Stackoverflow [ở đây] (http://stackoverflow.com/a/9513423/777186). – jogojapan

Trả lời

11

Tìm một bản sao của Gusfield của string algorithms textbook. Nó có giải thích tốt nhất về việc xây dựng cây hậu tố mà tôi đã thấy. Độ tuyến tính là kết quả đáng ngạc nhiên của một số tối ưu hóa của thuật toán cấp cao.

+1

Có phiên bản hoạt hình nào của bản đồ ukkonen này không? Xin lỗi tôi không thể hiểu bản chất liên tục của chức năng "cập nhật". Tôi đã cố gắng gusfield, giấy ukkonen và google quá: D – Seeker

+1

Tôi rất thích xem một hình ảnh động để xây dựng một cây hậu tố tổng quát trong thời gian tuyến tính. Nói chung văn bản dựa trên lời giải thích sẽ không phù hợp trong tâm trí của tôi .. :) – Abhi

+1

Chương Gusfields trên cây hậu tố có tính năng gây phiền nhiễu này, rằng ông sử dụng các chuỗi khác nhau để minh họa các bước khác nhau - vì vậy bạn rời bức tranh lớn. – maasha

Các vấn đề liên quan