Tôi chỉ muốn biết, khi một cây hậu tố vượt trội hơn một mảng hậu tố nâng cao.Mảng hậu tố và cây hậu tố
Sau khi đọc Replacing suffix trees with enhanced suffix arrays tôi không thấy lý do nào để sử dụng cây hậu tố nữa. Một số phương pháp có thể phức tạp, nhưng bạn có thể làm mọi thứ với một mảng hậu tố, những gì bạn có thể làm với một cây hậu tố và bạn cần độ phức tạp tương tự nhưng ít bộ nhớ hơn.
Một survey thậm chí cho thấy, rằng mảng hậu tố là nhanh hơn, bởi vì chúng được bộ nhớ cache thân thiện hơn, và không sản xuất bỏ lỡ bộ nhớ cache càng nhiều, sau đó cây hậu tố (do bộ nhớ cache có thể dự đoán việc sử dụng mảng tốt hơn nhiều, sau đó trên đệ quy cấu trúc cây).
Vì vậy, có ai biết lý do để chọn cây hậu tố trên một mảng hậu tố không?
chỉnh sửa Ok, nếu bạn biết thêm cho tôi biết, cho đến nay nó:
- Suffixarrays không cho phép xây dựng trên dòng
- Một số mô hình phù hợp với các thuật toán chạy nhanh hơn trên Suffixtrees
- (thêm) vì việc xây dựng trực tuyến, bạn có thể lưu nó trên hd a và phóng to hậu tố tồn tại. Nếu bạn sử dụng ổ SSD, nó phải yên tĩnh nhanh.
Thực hiện đơn giản? –
Chỉ cần đoán nhưng Suffix Trees có thể nhỏ hơn về mặt bộ nhớ trong việc triển khai thực tế. – Justin
@Justin: Không, trên thực tế, các mảng hậu tố nâng cao tiêu thụ ít bộ nhớ hơn, đó là những gì mà giấy liên kết là tất cả về –