Обработка математики: 100%

Подразделы

Другие разделы

Дата и время

16/03/2025 22:56:56

Авторизация

Имя:
Пароль:
Зарегистрироваться
Восстановить пароль
 

printОсновы анализа алгоритмов

printПорядок роста

При малых размерах входных данных невозможно заметить разницу во времени выполнения между эффективным и неэффективным алгоритмом. И только тогда, когда n становится велико, вопросы, связанные с разной эффективностью алгоритмов, выходят на первый план и становятся понятными.

n log2n nlog2n n2 n3 2n n!
10 3.3 33 102 103 103 3.6106
102 6.6 660 104 106 1.31030 9.310157
103 10 104 106 109 10301 4102567
104 13 1.3105 108 1012 2103010 много

Самый малый порядок роста имеет логарифмическая функция. Причем его значение настолько мало, что программы, реализующие алгоритмы с логарифмическим количеством основных операций, будут выполняться практически мгновенно для всех диапазонов входных данных реального размера. Хотя рост зависит от основания логарифма, можно заметить, что основание логарифма меняет только множитель:
logan=logablogbn.

Поэтому можно опускать основание логарифма и записывать просто: logn.

С другой стороны, с помощью алгоритмов, в которых количество выполняемых операций растет по экспоненциальному закону, можно решить лишь задачи очень малых размеров.


Задания для практики
  1. Для каждой из приведенных ниже функций определите, во сколько раз изменится ее значение при увеличении значения аргумента в четыре раза.
    а) log2n
    б) n
    в) n
    г) n2
    д) n3
    е) 2n
loading