Trước hết, cả hai thuật toán "làm việc" cho tất cả các đầu vào. Câu hỏi là về hiệu suất.
Các câu trả lời cho câu hỏi đó là loại crappy. Một cách để nói một thuật toán hiệu quả hơn so với thuật toán khác là nếu có một số kích thước đầu vào (cụ thể cho vấn đề) sao cho với bất kỳ kích thước đầu vào lớn hơn, thuật toán hiệu quả hơn sẽ thực hiện ít "bước tính toán" hơn, thường là bằng một số biện pháp trừu tượng, ví dụ: số lượng so sánh.
Ý tưởng của các câu trả lời là một thuật toán hiệu quả hơn không có triệu chứng vẫn có thể yêu cầu nhiều bước hơn trước kích thước đầu vào đó. Nó có thể là trường hợp thuật toán hiệu quả hơn bất thường đòi hỏi ít bước hơn cho tất cả các đầu vào, nhưng nó không cần phải là trường hợp và trong thực tế thường không phải vậy. Vì vậy, từ ngữ tốt hơn của câu trả lời "đúng" sẽ là " sẽ là lựa chọn tốt hơn cho tất cả các đầu vào trừ các đầu vào nhỏ có thể ".X
Các từ ngữ vẫn không phải là tuyệt vời mặc dù. Trước hết, nhiều yếu tố nữa quyết định thuật toán nào là "sự lựa chọn tốt hơn", nhưng tôi sẽ cho họ biết rằng ý định này đã đủ rõ ràng trong trường hợp này. Vấn đề thực sự là "nhỏ" và "lớn". Một trong những bài báo yêu thích của tôi là Thuật toán nhanh nhất và ngắn nhất cho tất cả các vấn đề được xác định rõ . Bài viết này mô tả một thuật toán đưa ra bất kỳ đặc điểm kỹ thuật nào của hàm và bằng chứng rằng nó có thể được tính trong thời gian đa thức sẽ tính toán hàm đó theo độ phức tạp thời gian tối ưu trong phạm vi cộng với một thuật ngữ cộng. Ví dụ: nếu tôi cung cấp cho nó một triển khai sắp xếp bong bóng làm đặc tả chức năng và bằng chứng đơn giản rằng đó là5O(n2), nó sẽ tạo ra một thuật toán sắp xếp là . Trong thực tế, nó sẽ tạo ra một thuật toán đó là 5 c n lg n + o ( n lg n ) nơi c là yếu tố thường xuyên của tiệm * thuật toán tối ưu. Thật đáng kinh ngạc. Chỉ có một vấn đề: thuật ngữ không đổi - ẩn trong o ( n lg n )O(nlgn)5cnlgn+o(nlgn)co ( n lgn )trong ví dụ này - làm cho thuật toán gần như chắc chắn hoàn toàn không khả thi đối với hầu như mọi vấn đề thực sự. Ý tôi là gì khi "hoàn toàn không khả thi"? Ý tôi là cái chết nhiệt của vũ trụ sẽ xảy ra nhiều lần trước khi thuật toán đó hoàn thành. Tuy nhiên, đối với các đầu vào "lớn" phù hợp, nó sẽ nhanh hơn sắp xếp bong bóng. Quan điểm của tôi là gần như chắc chắn không thể viết ra bằng bất kỳ phương tiện nào là đầu vào "lớn phù hợp", chứ đừng nói đến việc tính toán trên đó.
XY
cc