При малых размерах входных данных невозможно
заметить разницу во времени выполнения между эффективным и неэффективным
алгоритмом. И только тогда, когда `n` становится велико, вопросы,
связанные с разной эффективностью алгоритмов, выходят на первый план и
становятся понятными.
Самый малый порядок роста имеет
логарифмическая функция. Причем его значение настолько мало, что программы,
реализующие алгоритмы с логарифмическим количеством основных операций,
будут выполняться практически мгновенно для всех диапазонов входных данных
реального размера.
Хотя рост зависит от основания логарифма, можно заметить, что основание логарифма
меняет только множитель:
`log_a n = log_a b log_b n`.
Поэтому можно опускать основание логарифма и записывать просто: `log n`.
С другой стороны, с помощью алгоритмов, в которых количество выполняемых операций
растет по экспоненциальному закону, можно решить лишь задачи очень
малых размеров.
---
##### Задания для практики
1. Для каждой из приведенных ниже функций определите, во сколько раз изменится ее значение при увеличении значения аргумента в четыре раза.\
а) `log_2 n`\
б) `sqrt n`\
в) `n`\
г) `n^2`\
д) `n^3`\
е) `2^n`