Tôi đang làm việc (trong Java) trên một thuật toán xử lý hình ảnh đệ quy đệ quy đi qua các điểm ảnh của hình ảnh, ra ngoài từ một điểm trung tâm.Triển khai tốt nhất hàng đợi Java?
Thật không may, điều đó gây ra tràn ngăn xếp. Vì vậy, tôi đã quyết định chuyển sang thuật toán dựa trên Hàng đợi.
Bây giờ, điều này là tốt và dandy- nhưng xem xét thực tế là hàng đợi sẽ phân tích TROUSANDS pixel trong một khoảng thời gian rất ngắn, trong khi liên tục bật và đẩy, KHÔNG duy trì trạng thái dự đoán được (Có thể ở bất kỳ đâu giữa độ dài 100 và 20000); Việc thực hiện hàng đợi cần phải có khả năng đẩy và đẩy nhanh đáng kể.
Danh sách liên kết có vẻ hấp dẫn do khả năng tự đẩy các phần tử mà không cần sắp xếp lại bất kỳ thứ gì khác trong danh sách, nhưng để đủ nhanh, cần truy cập dễ dàng cả đầu và đuôi của nó (hoặc nút thứ hai đến cuối nếu nó không được liên kết kép). Đáng buồn thay, mặc dù tôi không thể tìm thấy bất kỳ thông tin nào liên quan đến việc triển khai danh sách liên kết bên dưới trong Java, do đó thật khó để nói rằng danh sách được liên kết có thực sự là cách hay không ...
Điều này mang lại cho tôi câu hỏi của mình. Điều gì sẽ là việc thực hiện tốt nhất giao diện Queue trong Java cho những gì tôi định làm? (Tôi không muốn chỉnh sửa hoặc thậm chí truy cập bất cứ thứ gì khác ngoài đầu và đuôi của hàng đợi - tôi không muốn làm bất kỳ loại sắp xếp lại nào, hoặc bất kỳ thứ gì. Về phía tôi, tôi có ý định làm nhiều việc và popping, và hàng đợi sẽ thay đổi kích thước khá một chút, vì vậy preallocating sẽ không hiệu quả)
Có thể bạn cần phải lùi bước và suy nghĩ xem có cách nào tốt hơn là đẩy hàng nghìn điểm ảnh riêng lẻ vào một cấu trúc dữ liệu (nếu đó thực sự là những gì bạn đang làm). – Thilo
Đó là một thuật toán phát hiện blob, ý tưởng là nó bắt đầu từ một điểm trên blob và đi qua bên ngoài để các cạnh của blob. Tôi không tin rằng có cách nào khác (đơn giản) để làm điều này. Ngoài ra, hàng đợi chỉ lưu trữ các điểm quan tâm - Nó không thực sự giữ các pixel trong hàng đợi, hàng đợi chủ yếu chỉ phục vụ như một cách để theo dõi nó ở đâu. Tương tự như nhiều thuật toán tìm đường dẫn –