Tôi tự học CLRS phiên bản thứ 3 và đây là một trong những câu hỏi khó khăn hơn mà tôi đã gặp phải cùng với câu trả lời của nó như một dịch vụ cho tất cả.quicksort và chèn sắp xếp lai dự kiến thời gian chạy
7.4-5 Chúng tôi có thể cải thiện thời gian chạy của quicksort trong thực tế bằng cách tận dụng thời gian nhanh hoạt động của sắp xếp chèn khi đầu vào của nó là “gần” được sắp xếp. Khi gọi số quicksort trên một subarray có ít hơn k
yếu tố, hãy để nó đơn giản quay trở lại mà không cần sắp xếp subarray. Sau khi cuộc gọi cấp cao nhất để trả về quicksort, hãy chạy sắp xếp chèn trên toàn bộ mảng để hoàn thành quá trình sắp xếp. Cho rằng thuật toán sắp xếp này chạy trong O(nk+nlg(n/k))
thời gian dự kiến. Làm thế nào chúng ta nên chọn k
, cả về lý thuyết và trong thực tế?
Quan sát tuyệt vời, cảm ơn. Tôi sẽ chỉnh sửa câu trả lời. –