Программа курса

На этом этапе вы узнаете, почему нельзя использовать стандартное понимание времени для оценки скорости работы алгоритма. Мы рассмотрим понятие асимптотической сложности алгоритма и научимся определять ее на многочисленных примерах.

Познакомимся с основными и наиболее используемыми структурами данных: массив, список, стек, очередь, хеш-таблица, дерево, бинарное дерево поиска.

Разберем большое количество алгоритмов сортировки, среди которых быстрая сортировка, heap-sort, сортировка подсчетом и др. Поскольку алгоритм быстрой сортировки пользуется популярностью на собеседованиях, рассмотрим его очень подробно (Какой элемент выбрать опорным и почему? Какие есть схемы разбиения, их преимущества и недостатки?)

Поговорим о делителях числа, простых числах, факторизации. Рассмотрим алгоритм Евклида для нахождения наибольшего общего делителя и наименьшего общего кратного. Познакомимся с алгоритмом «решето Эратосфена» для нахождения простых чисел.

Узнаем, что представляет собой структура данных граф. Рассмотрим сферы ее применения. Научимся реализовывать простые алгоритмы на графах, такие как поиск в глубину и в ширину, нахождение компонент связности и др.

Разберемся, как работают более сложные алгоритмы на графах: алгоритм Дейкстры и алгоритм Прима. Научимся находить мосты и точки сочленения для заданного графа.

Среди основных интересных задач, которые мы рассмотрим в рамках этого тренинга, будут нахождение площади произвольного многоугольника и построение выпуклой оболочки для заданного набора точек на плоскости с помощью алгоритма Грэхема.

Поговорим о хешировании строк с помощью полиномиальной хеш-функции. Подробно разберем алгоритмы Рабина-Карпа и Кнута-Морриса-Пратта для нахождения строки в тексте.

Рассмотрим принципы балансировки AVL-дерева. Решим несколько популярных задач, а также проверим полученные знания с помощью викторины.

Online тренинг

Без проверки

Неограниченный доступ к видео-лекциям и заданиям

стоимость

2950 грн $115

2950 грн.$115

регистрация

Курс Алгоритмы и структуры данных в FoxmindEd

Как проходит обучение

Как проходит обучение

Вы получаете доступ к закрытым лекциям (9 лекций, разбитым на 2-4 коротких видео). Прослушиваете их, изучаете новейшую увлекательную информацию.

Условия обучения

Условия обучения

Доступ к курсу неограниченный. Автор курса отвечает на ваши вопросы в чате Slack на протяжении 3х месяцев после покупки курса.

Начальные требования

Начальные требования

Знание одного из современных языков программирования (Java, C/C++, C#, Python и др.) на базовом уровне Практика программирования (необязательно коммерческого) от полугода. Какой наш курс можно использовать для подготовки? Любой курс программирования уровня Start (например, Java start).

Автор курса - Басалкевич Александр

Автор курса

Senior C++ Engineer в Global Logic

Басалкевич Александр

Занимаюсь разработкой программного обеспечения в сфере Embedded medicine. Также являюсь внутренним спикером и тренером компании в рамках GlobalLogic Education. Еще в старшей школе начал заниматься алгоритмическим программированием. Трижды был участником полуфинала ACM ICPC.

Практические задания на курсе:

  • Реализация структур данных (список, очередь, стек, хеш-таблица, бинарное дерево поиска)
  • Имплементация алгоритмов сортировки (Quick Sort, Heap Sort и др.)
  • Имплементация базовых алгоритмов на графе (обходы в глубину и в ширину, поиск компонент связности, поиск пути между двумя вершинами графа, поиск кратчайшего расстояния между двумя вершинами в неориентированном графе)
  • Реализация более сложных алгоритмов на графе (алгоритм Дейкстры, алгоритм Прима, поиск мостов и точек сочленения)
  • Нахождение площади произвольного многоугольника; реализация алгоритма построения выпуклой оболочки для набора точек на плоскости
  • Реализация алгоритмов Рабина-Карпа и Кнута-Морриса-Пратта для оптимального нахождения строки в тексте.

Регистрация

Как проходит обучение

01

Регистрация

Регистрируешься на курс

01
02

Ответы на вопросы

С тобой связывается сотрудник FoxmindEd и отвечает на все твои вопросы

03

Доступ

После оплаты ты получаешь доступ к видеолекциям

03
04

Лекции

Просматриваешь видеолекции от автора курса, выполняешь практические задания

04
05

Есть вопросы?

Задаешь вопрос автору курса в Slack и получаешь на него ответ

06

Следующая лекция

Переходишь к следующей видео-лекции

06

Основатель компании ответит
на часто задаваемые вопросы

Сергей Немчинский — самый мудрый лис в FoxmindEd, который 20 лет работает программистом. Почти 15 из них — в Java. Сергей был Project Manager в Ciklum, Team Leader в Luxoft, NetCracker и IntroPro.

Подписаться на канал

больше 200 тыс. подписчиков

Обратите внимание!
Мы не сотрудничаем с резидентами РФ и РБ!


    Выберите валюту для оплаты

    * UAH - только для резидентов Украины


    Алгоритмы и структуры данных - актуальность курса

    Наш курс по алгоритмам и структурам данных подойдет и программистам-новичкам, и более опытным коллегам, которые хотят лучше разобраться в теме. Вы познакомитесь или освежите в памяти основные структуры данных и их особенности. Структурирование данных становится ключевым фактором для сокращения времени выполнения программы, позволяет создавать более элегантные решения и чистый код.

    Умение работать с алгоритмами позволяет оценивать их эффективность, скорость и использование памяти. Кроме того, вы научитесь создавать алгоритмы с нуля и с их помощью оптимизировать производительность кода. А еще у вас выработается способность анализировать задачу и подбирать оптимальный алгоритм для ее решения, ведь код — это инструмент, а не самоцель.

    Когда вы освоитесь с алгоритмами, вы будете увереннее решать обычные бытовые задачи и успешнее проходить собеседования. В крупных компаниях очень любят предложить соискателю выразить идею через алгоритм или через сравнение разных способов решения. Это считается базовым навыком хорошего инженера.

     

    Почему стоит изучать алгоритмы и структуры данных вместе с FoxmindEd

     

    Компания FoxmindEd разрабатывает учебные курсы на основе реального опыта работы в технологических компаниях и актуальных бизнес-потребностей заказчиков. Мы обучаем языкам, методам и технологиям программирования, которые используются прямо сейчас.

    Автор курса по алгоритмам и структурам данных, Александр Басалкевич, работает Senior C++ Developer в крупнейшей украинской компании Global Logic. Кроме того, Александр является внутренним спикером и тренером компании в рамках GlobalLogic Education. Объединенная экспертиза FoxmindEd и Александра Басалкевича — вот гарантия качества этого курса. 

    Связаться с нами

    Связаться
    с нами