Онлайн-курсы

Где разработчику изучить алгоритмы и структуры данных с нуля: ТОП-15 онлайн-школ и бесплатных курсов

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

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

Skillbox


Сайт: https://skillbox.ru
Стоимость: 4 298 р. в месяц

Алгоритмы и структуры данных для разработчиков

Чему вы научитесь?

  • Освоите базовые алгоритмы
    Сможете реализовывать базовые алгоритмы на массивах и разные виды алгоритмов бинарного поиска. Познакомитесь с принципами построения хэш-таблиц и способами решения проблемы коллизий хэш-функций.
  • Работать со структурами данных
    Научитесь работать с различными структурами данных: связными списками, очередями, стэками, двусторонними очередями (деками), кучами, бинарными, B-, R- и суффиксными деревьями, а также различными видами графов.
  • Познакомитесь с вариантами алгоритмов
    Научитесь реализовывать алгоритмы сортировки SelectionSort, QuickSort и MergeSort, сможете создавать и применять рекурсивные и жадные алгоритмы.
  • Поймете, как оценивать сложность алгоритмов
    Научитесь оценивать сложность различных типов алгоритмов по времени и памяти. Сможете оценивать программный код и находить способы его оптимизации и ускорения.

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

  1. Введение в алгоритмы
  2. Алгоритм бинарного поиска
  3. Хеш-таблицы и хеш-функции
  4. Связные списки
  5. Стек и очередь
  6. Основы алгоритмов сортировки
  7. Рекурсивные алгоритмы
  8. Сложность алгоритмов
  9. Жадные алгоритмы
  10. Деревья. Двоичные деревья поиска
  11. Деревья. Обход в ширину и глубину
  12. Куча (Heap)
  13. Бор. Суффиксное дерево. B-дерево
  14. Графы и рекурсивные алгоритмы
  15. Топологическая сортировка и неочевидные применения графов
  16. Алгоритмы сжатия информации
  17. Битовые алгоритмы
  18. Алгоритмы хэширования. Криптографические алгоритмы

Яндекс Практикум


Сайт: https://practicum.yandex.ru
Телефон: 8-800-700-93-29
Стоимость: вводная часть — бесплатно, 62 000р. за курс

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

В программе курса — уроки для подготовки к алгоритмическим собеседованиям и пробное интервью с наставником. Принципы, лежащие в основе алгоритмов и структур данных, актуальны для любого стека технологий. Они не устаревают. Знание и понимание этих принципов помогает разработчикам писать более эффективный и аккуратный код.

Что нужно для обучения на курсе?

  • Уверенно владеть одним из языков программирования: C++, Python, Java, Go, JavaScript, C#. Опыт промышленной разработки необязателен.
  • На курсе будет много заданий с написанием кода, поэтому для прохождения понадобится ноутбук или компьютер.
  • Не требуется предварительных знаний алгоритмов и структур данных, всё расскажем с нуля.

Что вас ждет?

Это курс о базовых алгоритмах и структурах данных. Благодаря ему вы научитесь быстрее писать чистый код, видеть разные варианты решения задачи и сравнивать их по эффективности. Если вы планируете менять место работы, знание алгоритмов пригодится на собеседованиях — в программу курса входит пробное алгоритмическое собеседование с обратной связью. Кроме того, вы получите консультацию или сопровождение при поиске работы. Курс рассчитан на 4 месяца при нагрузке примерно 10 часов в неделю, но вы можете проходить его быстрее — новые уроки будут доступны вам по мере изучения материала.

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

Интерактивный учебник — это веб-платформа Практикума, в которую встроены уроки и небольшие тесты.

Практическая работа идёт в Яндекс.Контесте — специальной платформе, созданной для проверки алгоритмических задач. Вы можете проходить обучение на одном из языков: Python, Java, C++, JavaScript, Go, C#.

Программа обучения

  1. Введение в алгоритмы
    Понятие сложности алгоритма. O-нотация. Оценка времени исполнения программы.
  2. Основные структуры данных
    Массив, связный список, стек, очередь. Сложность операций вставки, поиска и удаления. Представление данных в памяти. Пространственная сложность алгоритма.
  3. Рекурсия
    Понятие рекурсии. Принцип «разделяй и властвуй». Бинарный поиск.
  4. Сортировки
    Квадратичные сортировки. Сортировка слиянием. Быстрая сортировка. Линейная сортировка подсчётом.
  5. Хеш-функции и хеш-таблицы
    Абстракция отображения. Понятие и свойства хеш-функции, примеры. Структура данных хеш-таблица. Коллизии и способы их разрешения.
  6. Деревья
    Структура данных дерево. Сбалансированные деревья поиска. Структура данных куча. Пирамидальная сортировка.
  7. Графы
    Определение графа, способы представления в памяти. Обход графа в глубину и в ширину. Компоненты связности. Алгоритмы поиска кратчайшего пути. Минимальное остовное дерево.
  8. Динамическое программирование
    Определение, одномерные и двумерные задачи. Динамическое программирование по подотрезкам. Динамическое программирование по подмножествам.
  9. Жадные алгоритмы
    Понятие жадного алгоритма, область применения. Примеры, доказательство корректности алгоритма.
  10. Пробное алгоритмическое собеседование
    Алгоритмическое интервью один-на-один с наставником, максимально приближённое к настоящему. По итогам наставник даст обратную связь.
  11. Алгоритмы на строках
    Префикс-функция. Подстроки, префиксы и суффиксы. Поиск шаблона в строке. Наивный алгоритм. Структура данных бор.

Хекслет


Сайт: https://ru.hexlet.io
Телефон: 8 800 100 22 47
Стоимость: 3 900р. за курс

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

Курс посвящен знакомству со структурами данных, алгоритмами поиска и сортировки. На практике разберёте в каких ситуациях подходит тот или иной алгоритм. Какова его сложность используя оценку «О-большое». Сколько памяти потребуется для его реализации. Напишите реализации структур данных. Рассмотрите жадные алгоритмы и динамическое программирование.

Включено в курс:

  • 10 уроков (видео и/или текст)
  • 8 упражнений в тренажере
  • 23 проверочных теста
  • Дополнительные материалы
  • Помощь в «Обсуждениях»
  • Доступ к остальным курсам платформы

Чему вы научитесь?

  1. Определять эффективность алгоритмов
  2. Выбирать подходящую структуру данных в зависимости от ситуации
  3. Определять NP-полные задачи и находить приближённое решение

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

  1. Введение
  2. Бинарный поиск
  3. Алгоритмы сортировки
  4. Алгоритмическая сложность
  5. Жадные алгоритмы
  6. Динамическое программирование
  7. Динамическое программирование (продолжение)
  8. Связный список
  9. Двусвязный список
  10. Очередь и стек
  11. Дополнительные материалы

OTUS


Сайт: https://otus.ru
Телефон: +7 499 938 92 02
Стоимость: 57 000р. за курс

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

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

В программу входят самые известные прикладные алгоритмы, знание которых, как правило, требуется от претендентов на Middle и Senior-должности в крупных IT-компаниях. А также разбираются способы решения задач олимпиадного уровня.

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

Необходимые знания:

  • Опыт программирования на любом языке программирования (начальный или средний уровень)
  • Знание элементарной математики в объёме средней школы
  • Минимальное знание алгоритмов и структур данных и желание развиваться в области их изучения

IN!


Сайт: https://www.nfactorial.school
Телефон:
Стоимость: 75 000р. за курс

Алгоритмы и структуры данных: подготовка к интервью

В стоимость курса входит:

  • 8 недель интенсивного обучения
  • 40 интерактивных 90-минутных воркшопов
  • За одну неделю: 3 живые лекции и 2 семинара в режиме реального времени
  • Еженедельные офисные часы с менторами: 3 часа в неделю
  • Итого: 84 часа обучения
  • Оценки и обратная связь за 7 еженедельных проектов
  • 4 пятничных соревнований: 90 минут, 5-7 задач, разбор решений
  • Доступ к учебным материалам: 40 видео, слайды, код для 100+ программ
  • Доступ к ежедневным домашним заданиям
  • Доступ на закрытые онлайн-форум и чат сообщества с менторами
  • Ревью/инспекции кода однокурсниками
  • Study-партнер из числа сокурсников, меняющийся каждую неделю
  • Сертификат Бронза/Серебро/Золото в зависимости от успеваемости

Уроки в удобное время после работы/учебы. Напишите код для 100+ задач по алгоритмам и структурам данных за 8 недель. Учебный план, который проходят студенты бакалавриата в Принстоне. Забудьте об обучении программированию в одиночку, здесь дружное сообщество.

Для кого курс?

  1. Кто готовится к интервью в Google и Facebook. Алгоритмы и структуры данных — фокус технических интервью в топовых технологических компаниях.
  2. Кто завершил nFactorial Start. Данный курс — логическое продолжение курса «Создание сильной базы в компьютерных науках для начинающих».
  3. Для спортивных программистов. Тех, кто хочет улучшить свой рейтинг в LeetCode и Codeforces, а также участвовать в олимпиадном программировании (IOI, ACM ICPC).

Robot_dreams


Сайт: https://robotdreams.cc
Телефон: +7747 095 12 46
Стоимость: не указана

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

После курса вы сможете:

  • работать с разными структурами данных
  • реализовывать классические алгоритмы и выбирать алгоритм исходя из задачи
  • изобретать новые решения и писать собственные алгоритмы
  • находить данные в отсортированном массиве и решать задачи балансировки дерева
  • строить хэш-таблицы, жадные алгоритмы и алгоритмы на строках
  • оценивать программный код и находить способы его оптимизации
  • применять алгоритмы для динамического программирования
  • устроиться на работу в компанию, которая фокусируется на problem solving interview

Вы будете тратить ≈10 часов в неделю на самостоятельную практику и решать сложные задачи с использованием 5 основных видов алгоритмов. Научитесь одинаково эффективно работать с рекурсией и пузырьковой сортировкой и сможете выбирать наиболее эффективный алгоритм под свои задачи. В результате ― заложите фундамент алгоритмического мышления и сможете пройти problem solving interview на позицию Junior Web/Software Developer в большой международной корпорации.

За 9 недель вы решите большое количество задач разными методами и научитесь оптимизировать существующие алгоритмы под свои рабочие задачи. Вас ждет объемная и сложная самостоятельная практика, но в результате ― вы получите фундаментальные знания по программированию и закроете пробелы в знаниях. С навыками, приобретенными на курсе, вы сможете претендовать на должность Web/Software Developer в международной корпорации и будете изобретать эффективные решения тогда, когда другие специалисты тратят несколько часов, чтобы нагуглить готовый код.

Открытое образование


Сайт: https://openedu.ru
Стоимость: бесплатно

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

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

Цель курса — получение базовых знаний об основных алгоритмах и структурах данных, используемых для хранения и поиска информации.В курсе используется система автоматического тестирования программ, обеспечивающая объективную оценку корректности выполнения заданий по программированию.

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

Прохождение курса «Алгоритмы программирования и структуры данных» позволит существенно повысить продуктивность и конкурентоспособность слушателей при разработке программного обеспечения.

Формат:

В состав курса входят видеолекции, опросы по материалам лекций и практические задания по программированию, предполагающие самостоятельную реализацию изучаемых в курсе алгоритмов и структур данных на одном из предложенных современных языков программирования. Курс рассчитан на десять недель. Средняя недельная нагрузка на обучающегося — 14 часов. Общая трудоемкость курса составляет четыре зачетных единицы.

Coursera


Сайт: https://www.coursera.org
Телефон:
Стоимость: бесплатно

Специализация Структуры и алгоритмы данных

Специализация Coursera — это серия курсов, помогающих в совершенстве овладеть определенным навыком. Можно сразу записаться на специализацию или просмотреть курсы, из которых она состоит и выбрать тот, с которого вы хотите начать. Подписываясь на курс, который входит в специализацию, вы автоматически подписываетесь на всю специализацию. Можно завершить всего один курс, а потом сделать паузу в обучении или в любой момент отменить подписку. Отслеживайте свои курсы и прогресс на панели управления учащегося.

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

Ориентировочное время на прохождение: 8 месяцев. Рекомендуемый темп: 6 ч/неделю.

Shultais Education


Сайт: https://shultais.education
Телефон:
Стоимость: 4 700р. за курс

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

Курс «Алгоритмы и структуры данных» разработан для начинающих программистов, которые хотят научиться проектировать эффективные и надежные алгоритмы для успешного решения рабочих задач, а также увеличить шансы пройти собеседование на более высокие позиции. Обучение алгоритмам проходит в режиме онлайн с изучением теоретической и практической части на языке Python. После просмотра обучающих видео-уроков ученики закрепляют материал практикой, также на Питоне.

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

Чему вы научитесь:

  1. Пользоваться классическими структурами данных.
  2. Выбирать оптимальные структуры под задачи.
  3. Определять сложность алгоритмов.
  4. Оптимизировать алгоритмы.
  5. Проектировать рекурсивные алгоритмы на Python.
  6. Оптимизировать рекурсивные функции.
  7. Строить и обходить деревья и графы.
  8. Сортировать массивы и связные списки.
  9. Быстро искать данные в массивах, деревьях и тексте.
  10. Искать и генерировать большие простые числа.
  11. Более эффективно использовать Python.
  12. Проектировать надежные и быстрые алгоритмы.
  13. Работать с хэш-таблицами, словарями и ассоциативными массивами.
  14. Шифровать и сжимать данные.
  15. Генерировать и обмениваться ключами шифрования.
  16. Сортировать данные, в том числе по нескольким критериям.
  17. Использовать комбинаторые алгоритмы и функции.
  18. Перебирать и оптимизировать деревья.

МФТИ


Сайт: https://mipt.ru
Телефон: +7 (495) 408-48-00
Стоимость: бесплатно

Бесплатный курс лекций от Московского физико-технического института

  • Лекция 1. Сортировки

Содержание лекции: 00:07 Сортировка кучей. 00:55 ShiftUp операции. 09:51 Очередь с приоритетом. 15:33 HeapSort. 18:28 Быстрая сортировка Хоара. 20:21 Алгоритм сортировки. 25:02 Реализация. 39:47 Оценка времени работы. 01:04:00 Выбор пивота. 01:10:11 k-ая порядковая статистика. 01:13:34 k-ая порядковая статистика. Альтернативный алгоритм.

  • Лекция 2. Продолжение сортировок

Содержание лекции: 1:24 kая статистика. Второй алгоритм. 15:26 Оценка времени работы. 20:27 Сортировка Тима Петерса. 33:54 Сортировка Тима Петерса. Вычисление ранов. 36:57 Слияние ранов. 01:07:37 Типы сортировок. 01:10:29 Сортировка подсчётом.

  • Лекция 3. Продолжение сортировок

Содержание лекции: 01:14 Карманная сортировка. 15:50 Карманная сортировка. Второй алгоритм. 17:55 Поразрядная сортировка, LSD. 25:30 Альтернативная реализация, MSD. 59:32 Внешняя сортировка. 01:08:30 Оценка эффективности.

  • Лекция 4. Динамический массив

Содержание лекции: 00:06 — Базовые структуры данных. 02:52 — Динамический массив. 09:50 — Динамический массив. Удаление. 11:40 — Реализация.

  • Лекция 5. Базовые структуры данных

Содержание лекции: 00:07 Начало. Односвязный и двусвязный список. 02:29 Операции в списке и время их работы. 04:56 Удаление из списка. 06:54 Реализация списка. 20:56 Объединение списков. 24:32 Сравнение списка и массива. 29:34 Стек. 32:44 Реализация стека. 34:50 Очередь. 37:53 Дек. 39:15 Вторая реализация для стека. 44:47 Поддержка минимума. 49:21 Персистентнтные структуры данных. 54:45 Очередь из шести стеков. 1:30:22 Реализация очереди из шести стеков.

  • Лекция 6. Хеш-таблица и k-ичная куча

Содержание лекции: 00:07 — начало. 00:27 — хеш-таблица. 24:50 — реализация. 27:23 — хеш-таблица с открытой адресацией. 36:35 — реализация. 42:01 — вычисление последовательности проб. 52:41 — двойное хеширование для вычисления проб. 56:49 — плюсы и минусы открытой адресации. 01:01:36 — время работы. 01:04:57 — k-ичная куча.

  • Лекция 7. Деление чисел и многочленов

Содержание лекции: 00:07 начало. Деление чисел. 29:36 перемножение многочленов, улучшенная асимптотика.

  • Лекция 8. Фибоначчиева куча

Содержание лекции: 15:35 удаление минимума. 17:28 поиск нового минимума. 25:41 код. 32:03 пример работы кода. 39:30 оценка времени работы поиска нового минимума. 48:24 Decrease-Key. 52:32 код. 57:02 анализ времени работы Cascading-Cut и Decrease-Key.

  • Лекция 9. Деревья поиска

Содержание лекции: 01:00 начало. Деревья поиска. 17:45 определение дерева поиска. 21:48 поиск и вставка. 29:10 минимум/максимум/замена/удаление. 46:00 АВЛ-дерево. 50:00 вращения. 01:13:03 вставка.

VK Образование


Сайт: https://education.vk.company
Телефон:
Стоимость: не указана

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

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

  • Основы алгоритмики

Понятие алгоритма;
Исполнитель алгоритма;
Сложность операций;
Сложность алгоритма;
Как доказывают корректность;
Инварианты.

  • Простейшие алгоритмы

Рекурсия;
Принцип «разделяй и властвуй»;
Сложность алгоритмов «разделяй и властвуй»;
Алгоритмы быстрого умножения;
Алгоритм быстрого возведения в степень;
Жадные алгоритмы и их корректность;
Алгоритмы на строках.

  • Сортировка и поиск

Сортировки, их виды и применимость;
Задача поиска;
Парадигма CRUD: create, read, update, delete;
Поисковые структуры данных;
Списки, деревья поиска, балансированные деревья;
Хеш-функции, их использование;
Хеш-таблицы.

  • Более практические задачи

Что дает курс?

  1. На практике разберешься в основных понятиях и сможешь объяснить, что это такое.
  2. Сможешь анализировать основные свойства алгоритмов.
  3. Научишься выбирать структуры данных для решения задач и обосновывать свой выбор.
  4. Лучшие выпускники смогут сделать свой первый карьерный шаг в ИТ и получить возможность присоединиться к одному из проектов экосистемы VK.

Какие знания нужны?

Специальная подготовка не требуется. Важны умение рассуждать и логика. Понадобятся знания математики, теории вероятности и информации, индукции и нахождения закономерностей.

Как проходят занятия?

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

ИНТУИТ


Сайт: https://intuit.ru
Телефон: +7 (499) 253-93 12
Стоимость: бесплатно

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

  • Лекция 1

Дальнейшая программа курса: что такое алгоритм и структура данных. Рассмотрены базовые виды алгоритмов, их характеристики и методы анализа. Далее рассматриваются примеры создания алгоритмов для вычисления чисел Фибоначчи, проверки числа на простоту, быстрого возведения числа в целую степень. В конце лекции рассказывается об особенностях использования алгоритмов для работы с массивами: создание однопроходных алгоритмов, поиск минимального элемента, бинарный поиск.

  • Лекция 2

Вторая лекция посвящена изучению элементарных структур данных. В начале даётся определение понятия «абстрактного типа данных». Далее лектор рассказывает о том, что такое амортизационный анализ и каковы его особенности. Рассматриваются такие виды структур и абстрактные типы данных, как: массив и динамический массив, стек, очередь и дэк, очередь с приоритетом, связные списки: однонаправленные и двунаправленные, двоичная куча. Разбираются недостатки и преимущества каждого вида структур, а также их реализация в виде программного кода.

  • Лекция 3

Тема сортировок оказалась настолько объёмной, что её пришлось разделить на две лекции. В первой части подробно рассматриваются такие виды алгоритмов, как: сортировка одного, двух и трёх элементов, сортировка выбором, сортировка вставками, сортировка пузырьком, быстрая сортировка Хоара. Описывается, как можно оценить скорость работы того или иного алгоритма сортировки, как проанализировать алгоритмы по количеству сравнений и т.д.

  • Лекция 4

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

Лекция 5

Из этой лекции для начала вы узнаете, что такое метод поиска хешированием, какие бывают хеш-функции (в том числе хеш-функции строк). Затем идёт подробное рассмотрение хеш-таблиц и способов их применения: что они собой представляют, основные методы разрешения коллизий (метод цепочек и метод открытой адресации), а также методы вставки, удаления и поиска элементов. Напоследок проводится сравнение хеш-таблиц по затратам времени и памяти.

ITVDN


Сайт: https://itvdn.com
Телефон: +38 044 344 16 22, +44 204 577 00 53
Стоимость: не указана

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

Главная цель курса «Алгоритмы и структуры данных» – освоив базу алгоритмов, научиться использовать их в правильном ключе для решения сложных и нестандартных задач.

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

Все вопросы и темы, которые присутствуют в данном курсе, не раз ставились на собеседовании начинающему разработчику, что делает курс особенно полезным.

Видео курс является обновлением и дополнением другого курса по алгоритмам.

Реклама. Информация о рекламодателе по ссылкам в статье.

Post Comment