Đây là vấn đề tôi đã gặp phải trong thời gian dài trước đây. Tôi nghĩ tôi có thể hỏi ý kiến của bạn. giả sử tôi có một danh sách rất nhỏ các số (số nguyên), 4 hoặc 8 phần tử, cần được sắp xếp, nhanh chóng. phương pháp tiếp cận/thuật toán tốt nhất là gì?Triển khai thuật toán nhanh để sắp xếp danh sách rất nhỏ
cách tiếp cận của tôi là sử dụng các hàm tối đa/phút (10 hàm để sắp xếp 4 số, không có nhánh, iirc).
// s(i,j) == max(i,j), min(i,j)
i,j = s(i,j)
k,l = s(k,l)
i,k = s(i,k) // i on top
j,l = s(j,l) // l on bottom
j,k = s(j,k)
Tôi đoán câu hỏi của tôi liên quan nhiều hơn đến việc triển khai, thay vì loại thuật toán.
Tại thời điểm này, nó sẽ trở thành phần cứng phụ thuộc, vì vậy chúng ta hãy giả sử bộ xử lý Intel 64 bit với SSE3.
Cảm ơn
tôi hỏi về cơ bản cùng một câu hỏi nhưng với một bối cảnh cụ thể hơn (thực hiện C, mảng của 6 ints) và chu kỳ sử dụng đếm đăng ký để thực hiện đánh giá. Bạn có thể xem kết quả ở đây: http://stackoverflow.com/questions/2786899/fastest-sort-of-fixed-length-6-int-array – kriss
liên quan: [Loại nhanh nhất của chiều dài cố định 6 int mảng] (http://stackoverflow.com/q/2786899/309483) –