Алгоритмы простыми словами
Эта страница объясняет базовые идеи, без которых сложные алгоритмы и структуры данных будут казаться магией.
Что такое алгоритм
Алгоритм — это понятная и конечная последовательность шагов, которая говорит компьютеру (или человеку), что именно нужно сделать, чтобы решить задачу. Как рецепт в кулинарии: чёткие действия, в определённом порядке.
Почему важна скорость (сложность алгоритма)
Один и тот же результат можно получить разными способами. Одни алгоритмы работают быстро даже на огромных массивах данных, другие — начинают «тупить» уже на тысячах элементов. Чтобы сравнивать алгоритмы, придумали понятие асимптотической сложности (Big-O нотация).
O(1)— почти мгновенно, время не зависит от размера данных;O(log n)— очень быстро (например, бинарный поиск);O(n)— время растёт линейно (каждый элемент нужно посмотреть хотя бы раз);O(n²)— медленно, но ещё терпимо для небольших задач (часто в простых сортировках).
Подробнее о сложности алгоритмов и её оценке читайте в отдельных разделах:
Как изучать алгоритмы эффективно
- Сначала понять идею простыми словами и на картинке/анимации;
- Потом посмотреть псевдокод или реализацию на знакомом языке;
- Разобраться, какая у алгоритма сложность и почему именно такая;
- Решить 2–3 простые задачи, применяя алгоритм руками и в коде.
Полезные темы
Рекомендуем изучить эти темы для лучшего понимания