Алгоритмы
Последовательности действий для решения задач. Введение в алгоритмы.
Тренировка алгоритмического мышления
Примеры из реальной жизни для понимания, как на самом деле выглядят алгоритмы в программировании.
Регулярные выражения
Регулярные выражения — шаблон для поиска и проверки текста. Введение, лаборатория и маршрут обучения для новичков.
Регулярные выражения — синтаксис с нуля
Как читать шаблон слева направо — литералы, точка, классы символов, квантификаторы, якоря. Разбор логина, даты, пути и времени по частям.
Регулярные выражения — группы и замена
Круглые скобки, захват частей строки, обратные ссылки, альтернатива, поиск и замена в редакторе и коде.
Регулярные выражения — проверки вокруг совпадения
Опережающие и ретроспективные проверки (lookahead, lookbehind), несколько условий для пароля, цена после знака доллара.
Регулярные выражения — флаги и жадность
Флаги i, m, g, s и аналоги в .NET; жадные, ленивые и жадные квантификаторы; почему .* захватывает слишком много.
Регулярные выражения — рецепты и командная строка
Готовые шаблоны для логов, email, URL, IP; grep, ripgrep, sed; типичные ошибки и различия движков.
Алгоритм обработки
Универсальный алгоритм обработки - инициализация, загрузка, реакция, логика.
Алгоритмы сортировки и поиска
Если вы начнёте какой-нибудь курс изучать, вероятнее всего как раз затронете в одной из первых тем алгоритмы сортировки и поиска.
Анализ эффективности алгоритмов
Оценка времени и памяти. Алгоритмическая сложность и анализ эффективности программ.
Нотация Большое O
Нотация Большое O — язык оценки масштабируемости: O(1)…O(n!), примеры на структурах данных, сортировке, поиске и типичных ловушках в коде.
Классы временной сложности алгоритмов
P, NP, экспоненциальное время. Скорость работы программ.
Линейная, квадратичная и логарифмическая сложность
Линейная, квадратичная и логарифмическая сложность - как оценивать рост затрат алгоритма при увеличении входа.
Графы — модели и задачи
Вершины, рёбра, направленные и взвешенные графы. Задачи на путях, соцсети и связь с алгоритмами.
Кратчайший путь — алгоритм Дейкстры
Поиск кратчайших расстояний от одной вершины во взвешенном графе с неотрицательными весами. Псевдокод и ограничения.
PageRank — ранжирование на графе
Как оценить важность веб-страниц по ссылкам: блуждающий пользователь, матрица переходов и степенной метод.
Евклид и классические алгоритмы на числах
Наибольший общий делитель, жадные идеи и связь с повседневными задачами. Дополнение к введению в алгоритмы.
Алгоритмы — итоги
Итоги раздела «Алгоритмы» — FAQ и краткие ответы по теме.
Алгоритмы — чек-лист
Чек-лист раздела «Алгоритмы» — вопросы для самопроверки.
Алгоритмы — о разделе
Подборка материалов раздела Алгоритмы в энциклопедии Вселенная IT.