Arbil
@Arbil

Почему скорость алгоритма измеряется в количестве операций, а не в секундах?

Всем привет!
Мне интересно
Почему скорость алгоритма измеряется в количестве операций, а не в секундах?
Разве не может быть, что несколько строчная программа выполняется быстрее нежели двух строчная функция(встроенная)?
  • Вопрос задан
  • 1097 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А что вам дадут секунды?
Вот у вас есть две программы, обрабатывающие одни и те же данные и получающие одни и те же результаты по разным алгоритмам. Первая программа делает это за 10 секунд, вторая за 20. Как оценить, насколько вырастет время обработки при увеличении объёма данных в 10 раз?
Никак, пока мы не знаем сложности алгоритма. Если первый имеет сложность O(n2), а второй - O(n), то время работы первого вырастет в 100 раз и составит 1000 секунд, а второго - всего в 10 раз (200 секунд). То есть, программа, которая была быстрее на малом наборе данных, внезапно становится гораздо медленнее на большом наборе. И определяющим параметром здесь становится именно вычислительная сложность алгоритма.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dollar
@dollar
Делай добро и бросай его в воду.
Потому что скорость выполнения зависит от частоты и типа процессора, а в наше время и от количества ядер/процессоров (потоков).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы