Статья подготовлена для студентов курса «Алгоритмы для разработчиков» в образовательном проекте OTUS. Если вы сталкивались с алгоритмами, то наверняка видели обозначения типа O(log n), а также слышали о логарифмической вычислительной сложности. Давайте освежим в памяти, что это такое, и как оценивается сложность алгоритмов. Итак, обычно сложность алгоритмов оценивают по времени выполнения либо по используемой памяти. Как бы там ни было, сложность будет зависеть от размеров входных данных. Очевидно, что массив из ста элементов обработается быстрее, чем из тысячи. При этом здесь нас мало интересует точное время, ведь оно зависит от типа данных, процессора, языка программирования и прочих параметров. Главное — это асимптотическая сложность — сложность при стремлении размера входных данных к бесконечности. Представьте, что какому-то алгоритму надо выполнить 4n3 + 7n условных операций для обработки n элементов входных данных. Если увеличивать n, на итоговое время работы будет намного си
Оцениваем сложность алгоритмов: что такое О(log n)?
9 января 20209 янв 2020
3138
3 мин