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