Vấn đề bảo trì đơn hàng (hoặc "duy trì trật tự trong danh sách") là để hỗ trợ các hoạt động:
singleton
: tạo một danh sách với một mục, trả về một con trỏ tới nóinsertAfter
: đưa ra một con trỏ tới một mục, chèn một mục mới vào sau nó, trả về một con trỏ cho mục mớidelete
: đưa ra một con trỏ tới một mục, xóa nó khỏi danh sách của nóminPointer
: đưa ra hai con trỏ tới các mục trong cùng một danh sách, trả về một con trỏ gần phía trước danh sách
Tôi nhận thức được ba giải pháp cho vấn đề này thực hiện tất cả các hoạt động trong thời gian khấu hao . Tất cả đều sử dụng phép nhân.
- Athanasios K. Tsakalidis: Duy trì trật tự trong một danh sách liên kết tổng quát
- Dietz, P., D. Sleator, Hai thuật toán để duy trì trật tự trong danh sách
- Michael A. Bender, Richard Cole, Erik D. Demaine, Martin Farach-Colton và Jack Zito, hai thuật toán đơn giản hóa để duy trì trật tự trong danh sách
Có thể duy trì thứ tự trong một danh sách trong thời gian khấu hao mà không sử dụng bất kỳ hoạt động số học nào không trong không?
Phép nhân chỉ mới gần đây (kể từ Pentium III) đã ở . Chúng ta có thể bao gồm các giải pháp sử dụng phép nhân không?
—
AT
Tôi không nghĩ đó là chính xác. Đầu tiên, tôi không nghĩ phép nhân là trong . Thứ hai, tôi không nghĩ các máy cụ thể, như Pentium III mà bạn đề cập, có liên quan gì đến câu hỏi liệu phép nhân có trong . Cuối cùng, như đã trình bày trong câu hỏi, rõ ràng tôi nhận thức được một số thuật toán dựa trên phép nhân cho vấn đề này, vì vậy việc thêm nhiều hơn vào một "câu trả lời" mới không giúp cải thiện mọi thứ.
—
jbapple
Tìm thấy nơi tôi đọc về điều này; đó là về Pentium 4 chứ không phải III; và đã không thực hiện phép nhân thay vào đó đã làm việc xung quanh nó với một hướng dẫn mới từ bộ xử lý đó: M. Thorup, 'Trên AC0 Triển khai cây hợp nhất và đống nguyên tử', trong Kỷ yếu của Hội nghị chuyên đề ACM-SIAM thường niên lần thứ mười bốn về thuật toán rời rạc, Philadelphia, PA, USA, 2003, trang 699 Từ707.
—
AT