Tôi đang cố gắng lưu trữ một danh sách lớn các chuỗi theo cách súc tích để chúng có thể được phân tích/tìm kiếm rất nhanh chóng.Làm cách nào để tôi có thể xây dựng biểu đồ từ tuần hoàn định hướng gia tăng để lưu trữ và tìm kiếm chuỗi?
Biểu đồ từ tuần hoàn hướng (DAWG) phù hợp với mục đích này một cách tuyệt vời. Tuy nhiên, tôi không có một danh sách các chuỗi để bao gồm ở nơi đầu tiên, do đó, nó phải được xây dựng từng bước. Ngoài ra, khi tôi tìm kiếm thông qua nó cho một chuỗi, tôi cần phải mang lại dữ liệu liên kết với kết quả (không chỉ là một boolean nói nếu nó đã có mặt).
Tôi đã tìm thấy thông tin về sửa đổi DAWG để theo dõi dữ liệu chuỗi tại đây: http://www.pathcom.com/~vadco/adtdawg.html Dường như cực kỳ phức tạp và tôi không chắc mình có khả năng viết nó hay không.
Tôi cũng đã tìm thấy một số tài liệu nghiên cứu mô tả thuật toán xây dựng gia tăng, mặc dù tôi thấy rằng các tài liệu nghiên cứu nói chung không hữu ích lắm.
Tôi không nghĩ rằng tôi đủ nâng cao để có thể tự kết hợp cả hai thuật toán này. Có tài liệu về thuật toán đã có các tính năng này hay một thuật toán thay thế có sử dụng bộ nhớ tốt & tốc độ không?
Cảm ơn, JohnPaul. Tôi rất có thể sẽ sử dụng một cây radix để lưu trữ các chuỗi, mặc dù tôi đã có thể muốn tiết kiệm nhiều hơn một chút vào bộ nhớ. Tôi đã hy vọng rằng một sự thỏa hiệp giữa các thuật toán xây dựng DAWG gia tăng và cấu trúc theo dõi chuỗi của bạn tồn tại, nhưng tôi đoán là không! Thật không may, tôi không thể cung cấp cho bạn công việc hoặc một công việc, vì đây chỉ là một dự án sở thích của tôi. Nếu bạn muốn tạo và ghi lại cấu trúc linh hoạt cho vui, hãy là khách của tôi và chúc may mắn (tôi không có bộ não cho nó, ít nhất)! –