Cho hoán vị 0..N-1, xác định chỉ số của hoán vị đó theo thứ tự từ điển của tất cả các hoán vị 0..N-1, trong thời gian tuyến tính


7

Có nhiều giải pháp hoặc tệ hơn, nhưng tôi đang tìm một giải pháp chạy trong hoặc bằng chứng không tồn tại.Ôi(nđăng nhậpn)Ôi(n)

Câu trả lời:


9

Bảng xếp hạng hoán vị thời gian tuyến tính trên giấy năm 2007 đưa ra thuật toán xếp hạng thời gian tuyến tính cho thứ tự từ điển, giả sử số học trên các số có độ dài mất thời gian không đổi.Ôi(nđăng nhậpn)


Bảng xếp hạng giấy năm 2001 và hoán vị không giới hạn trong thời gian tuyến tính trình bày thuật toán xếp hạng thời gian tuyến tính không yêu cầu số học nhanh trên số lượng lớn, nhưng không theo thứ tự từ điển. Về sau, nó nói

Toàn bộ vấn đề hoán vị xếp hạng theo thứ tự từ điển dường như đan xen chặt chẽ với vấn đề tính toán số lượng nghịch đảo trong một hoán vị, và dường như một bước đột phá lớn sẽ được yêu cầu để thực hiện tính toán đó trong thời gian tuyến tính, nếu thực sự nó có thể xảy ra .

Mặt khác, nó đề cập đến thuật toán để xếp hạng hoán vị theo thứ tự từ điển do Dietz.Ôi(nđăng nhậpn/đăng nhậpđăng nhậpn)


0

Đã đưa ra câu trả lời là tốt, tôi sẽ thêm một tài liệu tham khảo khác (gần đây hơn) ở đây:

Một phương pháp mới để tạo ra sự cho phép theo thứ tự từ điển, bởi TING KUO (2009)

đề xuất một phương pháp để tạo, xếp hạng và bỏ qua các hoán vị theo thứ tự từ điển, cộng với một vài tính năng mới như tạo ra một hoán vị nằm cách xa một hoán vị khác.

Sự phức tạp là một lần nữa của Ôi(ntôign) đặt hàng


1
Tôi không hiểu làm thế nào điều này trả lời câu hỏi. Câu hỏi cho biết OP đã biết vềÔi(nlgn) thuật toán thời gian, và đang hỏi về Ôi(n)thuật toán. Vì vậy, đề cập đến mộtÔi(nlgn)thuật toán thời gian không trả lời câu hỏi.
DW

@DW, câu trả lời chính xác câu trả lời của bạn. nó được thêm vào dưới dạng tham chiếu thêm (và mới hơn). Ngoài ra, câu trả lời đã được nâng cấp cũng cung cấp giải pháp O (nlgn) cho thứ tự từ điển . không có thuật toán được biết đến để đặt hàng từ điển thời gian tuyến tính (ít nhất là cho đến nay). Vì vậy, OP có thể có quyền truy cập vào xấp xỉ các ứng dụng mới hơn, hy vọng chính jim có thể phát triển một thuật toán như vậy. Vui lòng xóa downvote vui lòng
Nikos M.

Tôi vẫn không thấy nó trả lời bình luận của tôi như thế nào. Giả sử câu trả lời khác không tồn tại (vì nó không liên quan cho các mục đích này). Làm thế nào để câu trả lời của bạn trả lời câu hỏi đã được hỏi? Hãy xem câu hỏi một lần nữa, và sau đó câu trả lời của bạn. Câu hỏi đặc biệt nói rằng nó không muốn mộtÔi(nlgn) thuật toán thời gian (tác giả đã biết Ôi(nlgn) thuật toán thời gian), vậy làm thế nào để nói với OP về một Ôi(nlgn)thuật toán thời gian trả lời câu hỏi?
DW

@DW, quá tệ, có vẻ như danh tiếng của bạn bị lãng phí, đã được trả lời, trong mọi trường hợp hãy để OP dcide. Một lần nữa, một anser tương tự đã được đưa ra và được nâng cấp nhiều lần. Không thuật toán được biết đến để đặt hàng từ điển thời gian tuyến tính. Đây là những xấp xỉ (trong những điều kiện nhất định) mà OP có thể sử dụng hoặc thậm chí giúp cô ấy rút ra thuật toán của riêng mình. Đây là khoa học sau khi tất cả các xấp xỉ tốt thậm chí có thể rất hữu ích và tham khảo các giải pháp này. tôi hy vọng bạn cấp cho tôi quyền đó
Nikos M.

Nói rằng "Không có thuật toán thời gian tuyến tính đã biết" sẽ là một câu trả lời ... nhưng điều đó không có ở bất cứ đâu trong câu trả lời của bạn. Người ta chỉ có thể đánh giá câu trả lời của bạn dựa trên những gì được viết trong đó. (Điều đó nói rằng, tôi nhận ra rằng tuyên bố đó đã được đưa ra trong câu trả lời của Yuval, vì vậy không rõ ràng rằng nó sẽ đóng góp rất nhiều để thêm một tuyên bố lại về điều đó.)
DW
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.