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

Где разработчику изучить алгоритмы и структуры данных с нуля: ТОП-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. Дополнительные материалы

Skillfactory


Сайт: https://skillfactory.ru
Телефон: +7 495 291 09 12
Стоимость: 72 600р. за курс
Промокод howto дает 5% скидки (суммируется со скидкой на сайте)

Алгоритмы и структуры данных как PRO за 5 месяцев

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

Краткая программа курса:

  1. Введение в алгоритмы и структуры данных
  2. Определение асимптотики, оценка времени работы программы, оценка затраченной памяти
  3. Односвязные и двусвязные списки, работа с ними
  4. Рекурсивные переборы, переборы всех комбинаторных объектов
  5. Перестановки, разбиение на слагаемые, строки Фибоначчи
  6. Перебор битовых масок
  7. Сортировки, использование встроенной функции sort в языках
  8. Алгоритм бинарного поиска. Бинарный поиск по ответу
  9. Принцип хеширования. Парадокс дней рождения. Известные алгоритмы хеширования.
  10. Полиномиальное хеширование
  11. Алгоритмы на строках
  12. Хеш-таблица, встроенная реализация, собственная реализация
  13. Графы. Представление графов и алгоритм DFS
  14. Графы. Задача о поиске кратчайшего пути в графе, алгоритм BFS
  15. Алгоритм Дейкстры

OTUS


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

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

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

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

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

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

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

GeekBrains


Сайт: https://gb.ru
Телефон: 8 800 700 68 41
Стоимость: 16 500р. за курс
Назовите менеджеру промокод GeekPromo и получите скидку 7% на любой курс!

Алгоритмы и структуры данных. Базовый курс.

Фундаментальный курс «прокачивает» базовые знания computer science. Дает понимание, как работает язык программирования и действуют применяемые в коде команды и решения. На примере языка С студенты смогут «пощупать» механизмы, которые лежат в основе современных фреймворков. Курс дает знания, отличающие программиста от «юзера», пишущего код.

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

  • Владеть основами программирования на языке C;
  • Знать структуры данных и алгоритмы, которые лежат в основе их работы;
  • Владеть общими подходами и полезными методиками для решения сложных задач;
  • использовать инструменты оценки сложности решаемых задач;
  • Создавать консольные программы на языке C в среде разработки QT;
  • Создавать программы, используя собственные алгоритмы;
  • Создавать собственные структуры данных: стеки, списки, деревья и др.;
  • Оценивать производительность программ;
  • Использовать «незащищенный» режим работы с памятью, основанный на указателях;
  • Динамически выделять и освобождать память;
  • Использовать рекурсию.

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

Урок 1. Простые алгоритмы
Введение в C. Структуры. Алгоритмы.

Урок 2. Асимптотическая сложность алгоритма. Рекурсия
Асимптотическая сложность алгоритма. Рекурсивный перебор. Ханойская башня.

Урок 3. Поиск в массиве. Простые сортировки
Поиск в одномерном массиве. Интерполяционный поиск. Сортировка массива.

Урок 4. Динамическое программирование. Поиск возвратом
Наибольшая общая подпоследовательность. Динамическое программирование. Поиск с возвратом. Задача о восьми ферзях.

Урок 5. Динамические структуры данных
Стек, очередь. Создание стека с использованием массива. Динамические структуры данных.

Урок 6. Деревья
Двоичные деревья поиска. Хеш-функция. MD5. Хеш-таблицы.

Урок 7. Графы. Алгоритмы на графах.
Графы, обход графа в ширину и глубину. Волновой алгоритм. «Жадные алгоритмы».

Урок 8. Сложные сортировки
Сортировка Хоара (Quick sort). Пирамидальная сортировка (Heap sort) Сортировка слиянием (Merge sort). Сортировка подсчетом (CountingSort). Алгоритм со списком (pigeonhole sorting). Блочная сортировка.

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