Tôi đang gặp khó khăn trong việc tìm kiếm các tài nguyên tốt đưa ra trường hợp xấu nhất trong thuật toán sắp xếp ổn định . Có ai biết bất kỳ nguồn lực tốt?
Chỉ cần một lời nhắc nhở, tại chỗ có nghĩa là nó sử dụng mảng được truyền vào và thuật toán sắp xếp chỉ được phép sử dụng không gian thừa không đổi. Ổn định có nghĩa là các phần tử có cùng khóa xuất hiện theo cùng một thứ tự trong mảng được sắp xếp như chúng đã làm trong bản gốc.
Ví dụ, sắp xếp hợp nhất ngây thơ là trường hợp xấu nhất và ổn định nhưng sử dụng không gian thừa O ( n ) . Quicksort tiêu chuẩn có thể được thực hiện ổn định, tại chỗ nhưng là trường hợp xấu nhất O ( n 2 ) . Heapsort được đặt ra, trường hợp xấu nhất O ( n ln n ) nhưng không ổn định. Wikipedia có một biểu đồ đẹp trong đó các thuật toán sắp xếp có nhược điểm nào. Lưu ý rằng không có thuật toán sắp xếp nào mà chúng liệt kê có cả ba điều kiện ổn định, trường hợp xấu nhất O ( n ln n và đang ở vị trí.
Tôi đã tìm thấy một bài báo gọi là " Sáp nhập tại chỗ thực tế" của Katajainen, Pasanen và Teuhola, trong đó tuyên bố có trường hợp xấu nhất trong biến thể sáp nhập ổn định. Nếu tôi hiểu chính xác kết quả của họ, họ sẽ sử dụng (từ dưới lên?) Hợp nhất đệ quy trên 1 đầu tiên của mảng và1sau của mảng và sử dụng1thứ hai như không gian đầu để làm hợp nhất. Tôi vẫn đang đọc qua điều này vì vậy bất kỳ thông tin nào khác về việc liệu tôi diễn giải kết quả của họ có được đánh giá cao hay không.
Tôi cũng sẽ rất quan tâm đến trường hợp xấu nhất ở vị trí quicksort ổn định. Theo những gì tôi hiểu, việc sửa đổi quicksort thành trường hợp xấu nhất O ( n ln n ) yêu cầu chọn một trục chính phù hợp sẽ phá hủy sự ổn định mà thông thường sẽ được hưởng.
Đây hoàn toàn là lợi ích lý thuyết và tôi không có ứng dụng thực tế. Tôi chỉ muốn biết thuật toán có cả ba tính năng này.