Có, đối với nhỏ thích hợp N. Sẽ luôn có N, ở trên đó bạn sẽ luôn có thứ tự O (1) <O (lg N) <O (N) <O (N log N) <O (N ^ c ) <O (c ^ N) (trong đó O (1) <O (lg N) có nghĩa là tại thuật toán O (1) sẽ thực hiện ít thao tác hơn khi N lớn phù hợp và c là hằng số cố định lớn hơn 1 ).
Nói một thuật toán O (1) cụ thể thực hiện chính xác các hoạt động f (N) = 10 ^ 100 (một googol) và thuật toán O (N) thực hiện chính xác các hoạt động g (N) = 2 N + 5. Thuật toán O (N) sẽ cho hiệu năng cao hơn cho đến khi bạn N gần như là một googol (thực tế là khi N> (10 ^ 100 - 5) / 2), vì vậy nếu bạn chỉ mong N sẽ ở trong phạm vi 1000 đến một tỷ bạn sẽ phải chịu một hình phạt lớn khi sử dụng thuật toán O (1).
Hoặc để so sánh thực tế, giả sử bạn đang nhân các số có n chữ số với nhau. Các thuật toán Karatsuba là tối đa 3 n ^ (lg 3) hoạt động (có nghĩa là khoảng O (n ^ 1,585)) trong khi thuật toán Schönhage-Strassen là O (N log N log log N) mà là một trật tự nhanh hơn , nhưng để trích dẫn wikipedia:
Trong thực tế, thuật toán Schönhage bụi Strassen bắt đầu vượt trội so với các phương pháp cũ hơn như phép nhân Karatsuba và ToomTHER Cook cho các số vượt quá 2 ^ 2 ^ 15 đến 2 ^ 2 ^ 17 (10.000 đến 40.000 chữ số thập phân). [4] [5] [6] ]
Vì vậy, nếu bạn nhân các số có 500 chữ số với nhau, sẽ không có nghĩa khi sử dụng thuật toán "nhanh hơn" bằng các đối số O lớn.
EDIT: Bạn có thể tìm thấy xác định f (N) so với g (N), bằng cách lấy giới hạn N-> vô cùng của f (N) / g (N). Nếu giới hạn là 0 thì f (N) <g (N), nếu giới hạn là vô cùng thì f (N)> g (N) và nếu giới hạn là một hằng số khác thì f (N) ~ g (N) về mặt ký hiệu O lớn.