Я создал интерактивное руководство, которое поможет развить интуицию для распознавания временной сложности по шаблонам кода.
Что внутри:
Редактор кода в реальном времени с визуальной обратной связью при изменении размеров входных данных
Примеры от O(1) до O(n!) с интерактивными визуализациями
Освещение основных принципов, таких как "константы отбрасываются" и "вложенные операции умножаются"
Разбор мастер-теоремы с практическими примерами
Анализ реальных алгоритмов (сортировка слиянием, бинарный поиск и т. д.)
Идея проста: добавьте маркеры op() в свой код и наблюдайте, как кривые сложности появляются при увеличении n. Вы можете экспериментировать с циклами, рекурсией или вставлять свои собственные алгоритмы, чтобы увидеть, как они масштабируются.
Создано с использованием Next.js и развернуто по адресу https://sbondaryev.dev/articles/big-o-notation.
Буду рад вашим отзывам!
dev.to
Interactive Big O Notation Guide
Create attached notes ...
