Алгоритмы и структуры данных — довольно сложная тема, освоив которую, вы шагнете на следующую ступень в карьере разработчика. После прохождения курса вы сможете писать более эффективный код, правильно выстраивать архитектуру проекта и отдельных модулей, а также успешнее проходить собеседования.
Курс состоит из серии видеолекций и практических заданий для закрепления материала.
На этом этапе вы узнаете, почему нельзя использовать стандартное понимание времени для оценки скорости работы алгоритма. Мы рассмотрим понятие асимптотической сложности алгоритма и научимся определять ее на многочисленных примерах.
Познакомимся с основными и наиболее используемыми структурами данных: массив, список, стек, очередь, хеш-таблица, дерево, бинарное дерево поиска.
Разберем большое количество алгоритмов сортировки, среди которых быстрая сортировка, heap-sort, сортировка подсчетом и др. Поскольку алгоритм быстрой сортировки пользуется популярностью на собеседованиях, рассмотрим его очень подробно (Какой элемент выбрать опорным и почему? Какие есть схемы разбиения, их преимущества и недостатки?)
Поговорим о делителях числа, простых числах, факторизации. Рассмотрим алгоритм Евклида для нахождения наибольшего общего делителя и наименьшего общего кратного. Познакомимся с алгоритмом «решето Эратосфена» для нахождения простых чисел.
Узнаем, что представляет собой структура данных граф. Рассмотрим сферы ее применения. Научимся реализовывать простые алгоритмы на графах, такие как поиск в глубину и в ширину, нахождение компонент связности и др.
Разберемся, как работают более сложные алгоритмы на графах: алгоритм Дейкстры и алгоритм Прима. Научимся находить мосты и точки сочленения для заданного графа.
Среди основных интересных задач, которые мы рассмотрим в рамках этого тренинга, будут нахождение площади произвольного многоугольника и построение выпуклой оболочки для заданного набора точек на плоскости с помощью алгоритма Грэхема.
Поговорим о хешировании строк с помощью полиномиальной хеш-функции. Подробно разберем алгоритмы Рабина-Карпа и Кнута-Морриса-Пратта для нахождения строки в тексте.
Рассмотрим принципы балансировки AVL-дерева. Решим несколько популярных задач, а также проверим полученные знания с помощью викторины.
Online тренинг
Регистрируетесь на курс
С вами связывается сотрудник FoxmindEd и отвечает на все ваши вопросы
После оплаты вы получаете доступ к видеолекциям
Просматриваете видеолекции от автора курса, выполняете практические задания
Задаете вопрос автору курса в Zulip и получаете на него ответ
Переходите к следующей видео-лекции
После прохождения курса мы выдадим вам сертификат, свидетельствующий об успешном завершении обучения на курсе “Алгоритмы и структуры данных”.
Наш курс по алгоритмам и структурам данных подойдет и программистам-новичкам, и более опытным коллегам, которые хотят лучше разобраться в теме. Вы познакомитесь или освежите в памяти основные структуры данных и их особенности. Структурирование данных становится ключевым фактором для сокращения времени выполнения программы, позволяет создавать более элегантные решения и чистый код.
Умение работать с алгоритмами позволяет оценивать их эффективность, скорость и использование памяти. Кроме того, вы научитесь создавать алгоритмы с нуля и с их помощью оптимизировать производительность кода. А еще у вас выработается способность анализировать задачу и подбирать оптимальный алгоритм для ее решения, ведь код — это инструмент, а не самоцель.
Когда вы освоитесь с алгоритмами, вы будете увереннее решать обычные бытовые задачи и успешнее проходить собеседования. В крупных компаниях очень любят предложить соискателю выразить идею через алгоритм или через сравнение разных способов решения. Это считается базовым навыком хорошего инженера.
Учебный центр FoxmindEd разрабатывает учебные курсы на основе реального опыта работы в технологических компаниях и актуальных бизнес-потребностей заказчиков. Мы обучаем языкам, методам и технологиям программирования, которые используются прямо сейчас.
Автор курса по алгоритмам и структурам данных, Александр Басалкевич, работает Senior C++ Developer в крупнейшей украинской компании Global Logic. Кроме того, Александр является внутренним спикером и тренером компании в рамках GlobalLogic Education. Объединенная экспертиза FoxmindEd и Александра Басалкевича — вот гарантия качества этого курса.