Đây là một câu hỏi phỏng vấn mà tôi vừa tìm thấy trên Internet:Về bong bóng sắp xếp vs merge sort
Nếu bạn đang đi để thực hiện một chức năng mà phải mất một mảng số nguyên như là đầu vào và trả về tối đa, bạn sẽ sử dụng bong bóng sắp xếp hoặc hợp nhất sắp xếp để thực hiện chức năng này? Điều gì sẽ xảy ra nếu kích thước mảng nhỏ hơn 1000? Nếu nó lớn hơn 1000 thì sao?
Đây là cách tôi suy nghĩ về điều này:
Đầu tiên, việc sử dụng phân loại để thực hiện chức năng trên thực sự rất lạ. Bạn chỉ có thể đi qua các mảng một lần và tìm thấy một trong những tối đa. Thứ hai, nếu phải lựa chọn giữa hai loại, thì việc sắp xếp bong bóng tốt hơn - bạn không phải thực hiện toàn bộ quy trình sắp xếp bong bóng mà chỉ cần thực hiện lần đầu tiên. Nó tốt hơn so với sắp xếp hợp nhất cả về thời gian lẫn không gian.
Có bất kỳ sai lầm nào trong câu trả lời của tôi không? Tôi đã bỏ lỡ bất cứ điều gì?
Tôi nghĩ bạn có quyền từ chối tiền đề: một đường thẳng (& không gian cố định) là tất cả những gì bạn cần để tìm giá thầu tối đa. Nếu một người phỏng vấn buộc bạn phải chọn, tôi sẽ đề xuất sắp xếp hợp nhất vì nó có độ phức tạp thời gian 'O (n log n)' tốt hơn. – phs
Đây có thể là một câu hỏi được thiết kế để nhổ tận gốc noobs ...? –