Giải pháp là sai. Demuth [1; qua 2, giây. 5.3.1] cho thấy năm giá trị có thể được sắp xếp chỉ bằng bảy so sánh, nghĩa là giới hạn dưới "lý thuyết thông tin" bị ràng buộc chặt chẽ trong trường hợp này.
Câu trả lời là một phương thức phù hợp với , không phải là thuật toán chung. Nó cũng không đẹp lắm. Đây là phác thảo:n=5
Sắp xếp hai cặp đầu tiên.
Đặt hàng các cặp wrt phần tử lớn hơn tương ứng của họ.
Gọi kết quả ; chúng ta biết và .[a,b,c,d,e]a<b<dc<d
Chèn vào .e[a,b,d]
Chèn vào kết quả của bước 3.c
Bước đầu tiên rõ ràng có hai so sánh, thứ hai chỉ có một. Hai bước cuối cùng có hai so sánh mỗi; chúng tôi chèn vào danh sách ba phần tử trong cả hai trường hợp (đối với bước 4., lưu ý rằng chúng tôi biết từ rằng nhỏ hơn phần tử cuối cùng của danh sách) và so sánh với phần tử ở giữa trước. Điều đó làm cho tổng cộng bảy so sánh.c<dc
Vì tôi không thấy cách viết mã giả "đẹp" này, hãy xem ở đây để biết cách triển khai thử nghiệm (và hy vọng có thể đọc được).
Bằng tiến sĩ. luận án (Đại học Stanford) của HB Demuth (1956)
Xem thêm Sắp xếp dữ liệu điện tử theo HB Demuth (1985)
- Sắp xếp và tìm kiếm
bởi Donald E. Knuth; Nghệ thuật lập trình máy tính Vol. 3 (tái bản lần 2, 1998)