Loại nén có thể được tìm kiếm


7

BẤT CỨ nén kiểu đó có thể nén một tập tin, và sau đó là tập tin nén có thể tìm kiếm mà không cần giải nén các tập tin?


3
Bạn có thể giải nén nhanh chóng để tìm kiếm. Ngoài ra, trừ khi bạn có một số định dạng dữ liệu khá bất thường và những thứ đang được tìm kiếm, tôi rất nghi ngờ về điều đó. Chính xác những gì bạn đang cố gắng để làm?
vonbrand

4
Tôi khuyến khích bạn chỉnh sửa câu hỏi để giải thích các yêu cầu cụ thể của bạn. Bạn chỉ quan tâm đến các lược đồ nén tiêu chuẩn, hoặc bạn có sẵn sàng xem xét các lược đồ nén bất thường được thiết kế để hỗ trợ tìm kiếm không? Bạn có sẵn sàng xem xét một sơ đồ nén cũng lưu trữ một chỉ mục ở bên có thể được sử dụng để giúp tăng tốc tìm kiếm không? Ngoài ra, làm rõ loại tìm kiếm nào bạn đồng ý. Không giải nén khi đang tìm kiếm được tính là một giải pháp hợp lệ? Nếu không, tai sao không? Có mục tiêu thời gian chạy cụ thể mà bạn đang cố gắng để đạt được?
DW

1
Chỉnh sửa đó đã không thêm nhiều rõ ràng. Cảm giác như bạn đã quyết định tìm kiếm một tệp nén là một giải pháp cho một số vấn đề khác mà bạn đang gặp phải. Vấn đề mà bạn đang cố gắng giải quyết bằng cách tìm kiếm một tệp nén là gì?
Schwern

1
@Schwern Không có vấn đề gì trong tay, chỉ đơn giản là tò mò nếu các kỹ thuật đã tồn tại, cho bất cứ điều gì theo nghĩa đen. Tôi không thể nghĩ ra bất cứ điều gì ngoài đỉnh đầu của tôi. :) Thậm chí đặt "bất kỳ" in đậm haha. Tôi đã có nghĩa nó theo nghĩa đen.
Albert Renshaw

3
Tôi không thấy bất kỳ lý do nào để đóng câu hỏi này mà dường như đang thu hút các câu trả lời hợp lý . Rõ ràng người đăng đang cố gắng để có được điểm vào là vấn đề, và anh ấy đang nhận được chúng. Hình ảnh là dữ liệu nén trên thực tế (nó luôn luôn là một xấp xỉ), tuy nhiên vẫn có các kỹ thuật tìm kiếm để tìm pattrns trong ảnh, ngay cả khi độ phân giải không giống nhau.
babou

Câu trả lời:


12

Các chỉ mục tự nén như Chỉ mục FM cho phép tìm kiếm chuỗi con tùy ý trong không gian nén gần entropy. Đây thực chất là các mảng hậu tố nén hoặc cây hậu tố, có rất nhiều tài liệu.

Tìm kiếm chuỗi con cơ bản có thể là o (k) hoặc o (k log n) trong thời gian dài k, tùy thuộc vào cấu trúc dữ liệu nào được chọn (các loại cấu trúc dữ liệu xếp hạng / chọn khác nhau). Có một loạt các vấn đề phát sinh tùy thuộc vào việc người ta muốn các biến vị ngữ boolean đơn giản, phần bù của mỗi lần xuất hiện hay các thao tác cây hậu tố phức tạp hơn; cái trước có thể được thực hiện trong không gian và thời gian ít hơn cái trước.

Ngoài ra còn có toàn bộ cuốn sách về tìm kiếm và giải nén chuỗi có chọn lọc : "Cấu trúc dữ liệu nén cho chuỗi: Về tìm kiếm và trích xuất chuỗi" của Rossano Venturini, xuất bản 2014 Springer Science & Business Media.


1
Vui lòng cung cấp tài liệu tham khảo theo cách mạnh mẽ chống lại thối liên kết; đối với sách, tác giả, tên sách, nhà xuất bản và năm là mức tối thiểu được chấp nhận.
Raphael

3

KWillets đề cập đến chỉ số FM. Điều đáng chú ý là chỉ số FM dựa trên biến đổi Burrows-Wheeler (cũng là cơ sở của bzip), cùng với một chỉ mục hỗ trợ các truy vấn "xếp hạng" hiệu quả.

Các chỉ mục dựa trên BWT là tự lập chỉ mục, theo nghĩa là chỉ mục cũng là một biểu diễn nén của chuỗi nguồn và có thể được giải nén vào tệp gốc. Việc giải nén có thể được thực hiện nhanh hơn bằng cách thêm một chỉ mục chọn cùng với chỉ mục xếp hạng. Xếp hạng / chọn chỉ mục là một chủ đề thú vị và đáng để kiểm tra. Có một số nguồn lực tuyệt vời để thực hiện thực tế .

Tuy nhiên, điểm chính mà tôi muốn đưa ra là đây là trường hợp đặc biệt về ý tưởng tổng quát hơn về cấu trúc dữ liệu nén. Cấu trúc dữ liệu nén là cấu trúc không cần giải nén (hoặc số lượng giải nén cần thiết bị giới hạn) để thực hiện các hoạt động hiệu quả trên nó.

Các cấu trúc dữ liệu nén có thể được phân tích sâu hơn về mặt chi phí của chúng so với giới hạn lý thuyết. Ví dụ, cấu trúc dữ liệu cô đọng có chi phí tương đối giảm khi cấu trúc dữ liệu phát triển. Đây là một lĩnh vực nghiên cứu rất tích cực tại thời điểm này.

Kỹ thuật BWT có thể được áp dụng cho các cấu trúc dữ liệu khác với chuỗi. Ví dụ, ý tưởng tương tự đã được mở rộng cho các cây được gắn nhãn , dẫn đến một đại diện có thể tìm kiếm được nén.

Vì vậy, nếu bạn có dữ liệu mà bạn cần nén và tìm nội dung, không nhất thiết phải suy nghĩ về các tệp. Dữ liệu của bạn có thể có cấu trúc cấp cao hơn mà bạn có thể khai thác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.