Це залежить від контексту. У теоретичній інформатиці зазвичай кожен поліноміальний алгоритм часу вважається "ефективним". У алгоритмах наближення, наприклад, час виконаннян1 /ϵ1 / ϵ було б визнано ефективним, хоча воно не може бути застосоване на практиці для будь-яких розумних цінностей ϵ. Алгоритм для SAT, який працює вн2100 був би дивним проривом.
У класичній алгоритмі, тобто алгоритмах від 80-х років і раніше, час виконання нижче н3або так (вважають множення матричної думки, відповідність мінімальних витрат, потоки, лінійне програмування) вважаються ефективними. Більшість людей вони все ще вважаються ефективними. Звичайно aн2 алгоритм не вважається ефективним, якщо a n журналн алгоритм відомий, наприклад, для сортування.
В даний час існує тенденція до підлінійних алгоритмів або потокових алгоритмів, які здатні мати справу з терабайтами даних. Спробуйте використовувати матричне множення для обчислення рейтингу сторінок усіх сторінок в індексі Google. Це не вийде.
Звичайно, незважаючи на користь, асимптотичний алгоритм не розповідає про всю історію. Існують алгоритми, які мають хороший асимптотичний час виконання, але константи настільки величезні, що їх ефективно використовувати не можна. Колись. Ліптон називає їх галактичними алгоритмами . Роберт Седжевік навіть заявляє, що межі найгіршого випадку "часто марні для прогнозування, часто марні для гарантій" і "аналіз найгірших випадків марний для прогнозування ефективності" у своїй розмові Повернення науки назад до інформатики .