Сложность алгоритмов
графы
деревья
рекурсия
Алгоритмы поиска
Алгоритмы и структуры данных
Навык, который увеличит ваши шансы пройти алгоритмическое интервью в международные компании на 80%
Евгений Филиппов
выпускник Хекслета
Программа обучения
2 месяца
Что важно знать заранее
Для успешного прохождения курса вам нужно базовое умение программировать на одном из языков: Python, JavaScript, PHP или Java.
Если вы пока не знакомы с программированием, не переживайте!
У нас есть вводные курсы, которые помогут вам освоить основы и подготовиться к обучению. Мы объясним всё с нуля — доступно и наглядно
Введение в алгоритмы
Бинарный поиск, рекурсия, сложность алгоритмов, оценка сложности
Рекурсивные алгоритмы
Рекурсия вместо цикла, алгоритм для Ханойской башни
Связные и двусвязные списки
Реализация структур, основные операции, сравнение с массивами
Очередь Стэк
Реализация через список и массив, сложность основых операций
Хэш
Реализация, коллизии, хэш-функция, вставка значений
Алгоритмы сортировки
Виды сортировки, сложность алгоритмов, Пузырьковая сортировка, Сортировка выбором, Быстрая сортировка
Проект
Поисковый движок
Разработаете поисковый движок, который поможет искать строки сразу в нескольких текстовых документах. Пример похожей системы — ElasticSearch.
В проекте освоите работу с регулярными выражениями для поиска и реализуете метрику релевантности TF-IDF, чтобы находить именно те документы, которые действительно важны (например, где нужное слово встречается чаще). А чтобы поиск был не только точным, но и быстрым, используете инвертированный индекс как основную структуру данных.
Деревья как концепция
Структура, виды узлов, формы деревьев, деревья в жизни
Виды деревьев
Виды деревьев, реализация. основные операции, алгоритмы поиска, древовидная рекурсия
Балансировка деревьев
Балансировка деревьев, красно-черные (KD-деревья)
B-деревья, 2-3-деревья
Связь деревьев с базой данных, индексы, работа с поиском
Префиксные деревья
Реализация, использование во фреймворках и словарях
DOM-деревья и AST-деревья
Поиск различий, ast-деревья в коде
Проект
Роутер
На этом этапе создадите библиотеку-роутер, которая будет обрабатывать входящие HTTP-запросы. Чтобы роутер работал быстро и эффективно, добавим в него специальную структуру данных — префиксное дерево.
Этот проект — отличный шанс потренироваться в создании древовидных структур и разобраться, как устроены эффективные алгоритмы их работы.
Знакомство с графами
Класс сложности алгоритмов, виды графов, проблема P-NP
Применение графов
Поиск пути, задача коммивояжера, сет
Задача коммивояжер
Как опознать, оценка сложности, метод перебора, метод ветвей и границ
Алгоритмы поиска в графах
Поиск в ширину и глубину, списки смежности, неявные графы
Жадные алгоритмы
Жадные алгоритмы и алгоритмы перебора
Эвристические алгоритмы
Кратчайший путь, Алгоритм А*, реализация алгоритма
Как проходит обучение
Просто, наглядно и всегда под рукой
Вы изучаете теорию в удобном текстовом формате — легко читать даже с телефона. Живые примеры помогают сразу понять, как всё работает на практике. Материал выстроен так, чтобы вы шаг за шагом двигались от простого к сложному, не упуская важных деталей
Проверяем и закрепляем знания
После каждой темы вы проходите квизы, которые помогают убедиться, что вы всё поняли. Вопросы разного уровня сложности дадут возможность как проверить базу, так и попрактиковаться в применении знаний
Учитесь на реальных задачах
Мы создали удобную виртуальную среду, где вы решаете задачи прямо в браузере. У вас есть редактор кода, консоль и автоматические тесты, которые моментально показывают результат
Ваш AI-наставник в учебе
Наш Учебный помощник на базе ИИ — это как наставник, который всегда под рукой. Он понимает, где вы находитесь в курсе, что нужно сделать, и как выглядит ваш код. Если что-то пошло не так, вы сразу получите понятные и полезные подсказки
Занимаетесь сами, но не в одиночестве
Тяжело сохранять мотивацию, если обучаешься самостоятельно, поэтому мы создали крепкое IT-сообщество, где каждый студент получает поддержку и находит полезные контакты среди других разработчиков
Стоимость курса
Старт в любой момент
Продолжительность 2 месяца
Свободный режим учебы
AI-помощник
Интегрированное обучение: теория, тесты, тренажеры, проекты
Членство в IT-сообществе
от 3 900 ₽/мес
Хотите учиться от компании?
Расскажите вашему работодателю о Хекслете