Từ những gì tôi có (một thời gian ngắn), Java và Python đều giống như họ sử dụng timsort trong libaries tiêu chuẩn của họ, trong khi phương pháp sắp xếp trong stdlib của C được gọi là qsort vì nó đã từng là quicksort.Làm cách nào để các ngôn ngữ khác nhau triển khai sắp xếp trong thư viện chuẩn của họ?
Thuật toán nào làm ngôn ngữ điển hình đã triển khai trong thư viện chuẩn của họ ngày nay và tại sao họ chọn thuật toán đó? Ngoài ra, C đã đi chệch khỏi quicksort?
Tôi biết câu hỏi này thiếu một "vấn đề thực tế mà tôi phải đối mặt" và có vẻ như đã kết thúc với một số người, nhưng biết cách thức/tại sao một số thuật toán được chọn làm tiêu chuẩn có vẻ khá hữu ích nhưng tương đối không được đáp ứng. Tôi cũng cảm thấy như là một câu trả lời sâu sắc giải quyết các mối quan tâm là ngôn ngữ cụ thể (kiểu dữ liệu?) Và máy cụ thể (bộ đếm cache?) Sẽ cung cấp thông tin chi tiết hơn về cách các ngôn ngữ và thuật toán khác nhau hoạt động hơn uni quan tâm.
Tôi tin rằng OSX là duy nhất trong heapsort và mergesort được bao gồm. Hai máy tôi làm việc và máy chủ uni của tôi thiếu bất kỳ thứ gì ngoài qsort và qsort_r. Ngoài ra, tôi biết câu hỏi này khá khó hỏi vì nó liên quan đến rất nhiều lịch sử, có lẽ một số chính trị, chắc chắn là một số hiểu biết thân mật về các hệ thống khác nhau và rất nhiều bài đọc. Đây là loại câu hỏi rằng nếu nó không phải là trận chung kết tuần, tôi có lẽ sẽ cố gắng tự trả lời. Nhưng thậm chí sau đó, nó là rất nhiều để nghiên cứu. Hy vọng của tôi là một người nào đó đã có một niềm đam mê cho câu trả lời này tại một thời điểm trước đó. – lakechfoma
Vâng, điều đó hoàn toàn có thể. Quan điểm của tôi chủ yếu là ngoài tài liệu hoặc xem xét việc triển khai bạn quan tâm trực tiếp, không có nhiều thông tin để tiếp tục. –
Vâng, tôi đã đoán được nhiều. Tôi đã hy vọng nếu có bất kỳ quyết định được đưa ra trong một danh sách gửi thư công cộng hoặc những gì có bạn rằng ai đó ra khỏi đó sẽ nhớ quá trình quyết định và cung cấp cái nhìn sâu sắc. – lakechfoma