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

Обновлено:

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

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

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

  3. Улучшение производительности: Правильный выбор алгоритмов и структур данных может значительно улучшить производительность программ, особенно при работе с большими объемами данных.

  4. Применение в различных областях: Знания по алгоритмам и структурам данных востребованы в различных областях, от разработки веб-приложений до анализа данных, искусственного интеллекта и разработки игр.

  5. Фундаментальные принципы: Понимание основных принципов работы алгоритмов и структур данных является фундаментальным для развития более сложных навыков программирования.

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

Список курсов кратко:

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

Обучение в удобное время

Длительность: полгода

Доступ: курс доступен навсегда

Для кого подходит курс:

  • Для Junior-разработчиков
  • Для Middle-разработчиков
  • Для тех, кто готовится к олимпиадам

Что вы получите из курса:

  • Освоите основные алгоритмы
  • Изучите работу с различными структурами данных
  • Познакомитесь с различными видами алгоритмов
  • Узнаете, как оценивать сложность алгоритмов

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

На курсе вас ждут онлайн-лекции и практические задания, включающие в себя 18 тематических модулей и 103 онлайн-урока.

Введение в алгоритмы

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

Алгоритм бинарного поиска

Узнаете о бинарном поиске, его эффективности и особенностях работы.

Хеш-таблицы и хеш-функции

Изучите принципы построения хеш-таблиц, работу с хеш-функциями и решение проблемы коллизий.

Стеки и очереди

Познакомитесь с принципами работы стеков, очередей и деков.

Алгоритмы сортировки

Узнаете об алгоритмах SelectionSort, QuickSort и MergeSort.

Рекурсивные алгоритмы

Научитесь работать с рекурсивными алгоритмами и оценивать их сложность.

Сложность алгоритмов и О-нотация

Узнаете, как оценивать сложность алгоритмов по времени и памяти.

Жадные алгоритмы

Познакомитесь с принципами жадных алгоритмов и их применением.

3977 руб. в месяц
Срок обучения: 3 месяца
Итого: 73414 руб. 47719 руб.
Подробнее о курсе →
Курс «Алгоритмы и структуры данных. Базовый курс.» — Geek Brains

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

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

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

Что Вы получите:

  • Видеозаписи всех онлайн-занятий
  • Методички и практические задания
  • Общение с одногруппниками
  • Сертификат об окончании обучения.

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

  • Урок 1. Простые алгоритмы
    Введение в C. Структуры. Алгоритмы.
  • Урок 2. Асимптотическая сложность алгоритма. Рекурсия
    Асимптотическая сложность алгоритма. Рекурсивный перебор. Ханойская башня.
  • Урок 3. Поиск в массиве. Простые сортировки
    Поиск в одномерном массиве. Интерполяционный поиск. Сортировка массива.
  • Урок 4. Динамическое программирование. Поиск возвратом
    Наибольшая общая подпоследовательность. Динамическое программирование. Поиск с возвратом. Задача о восьми ферзях.
  • Урок 5. Динамические структуры данных
    Стек, очередь. Создание стека с использованием массива. Динамические структуры данных.
  • Урок 6. Деревья
    Двоичные деревья поиска. Хеш-функция. MD5. Хеш-таблицы.
  • Урок 7. Графы. Алгоритмы на графах.
    Графы, обход графа в ширину и глубину. Волновой алгоритм. «Жадные алгоритмы».
  • Урок 8. Сложные сортировки
    Сортировка Хоара (Quick sort). Пирамидальная сортировка (Heap sort) Сортировка слиянием (Merge sort). Сортировка подсчетом (CountingSort). Алгоритм со списком (pigeonhole sorting). Блочная сортировка.
Стоимость: 15 000 ₽
Подробнее о курсе →
Курс «Алгоритмы и структуры данных» — OTUS

Для кого подходит этот курс?

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

Особенности обучения

  • Интерактивные вебинары: Преподаватели используют новейшие образовательные методики для привлечения студентов к теме и более эффективного усвоения материала. Каждое занятие наполнено алгоритмической энергией, способствующей интенсивному обучению и самостоятельной работе.
  • Глубокое погружение в темы: Каждый алгоритм изучается на основе конкретных визуальных примеров, что позволяет изучить различные способы их реализации.
  • Модуль 9: Посвящен продвинутым алгоритмическим трендам для опытных специалистов.

Преимущества курса

Студенты могут проходить курс на любом языке программирования и в том числе участвовать в интерактивных демонстрациях работы алгоритмов на C#, Java или Python. Подробные объяснения и визуализации делают каждую идею алгоритма понятной для студента.

Что вы получите после завершения курса?

  • Материалы по всем занятиям, включая видеозаписи и выполненные задания
  • Сертификат об окончании курса
  • Навыки работы с алгоритмами и структурами данных
  • Приглашение на собеседование в компаниях-партнерах
Стоимость: 60 000 ₽
Подробнее о курсе →
Курс «Алгоритмы и структуры данных: подготовка к интервью» — nFactorial

Для кого предназначен курс

  • Кандидаты на интервью в Google и Facebook
  • Выпускники курса nFactorial Start
  • Спортивные программисты, участвующие в LeetCode и Codeforces

Учебный план

Неделя 1

  • Анализ алгоритмов
  • Временная сложность и использование памяти
  • Стеки и очереди
  • Бинарный поиск и связанные списки

Неделя 2

  • Java для продвинутых: наследование, generics, интерфейсы, итераторы
  • Элементарная сортировка: выбором, вставкой, двоичный поиск, компараторы
  • Сортировка слиянием и быстрая сортировка

Проект: Реализация двухсторонней и вероятностной очередей с помощью массивов и связанных списков.

Неделя 3

  • Приоритетная очередь и двоичная куча
  • Сортировка кучей и хэш-таблица
  • Рекурсия и Backtracking

Неделя 4

  • Динамическое программирование: кратчайший путь в ориентированном графе
  • Жадные алгоритмы и алгоритмы потока

Проект: Content-aware cжатие фотографий, сохраняющее самые интересные объекты на фото.

Неделя 5

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

Неделя 6

  • Двоичное дерево поиска и сбалансированные деревья поиска

Неделя 7

  • Графы и их представление
  • DFS - поиск в глубину и BFS - поиск в ширину
  • Топологическая сортировка

Проект: Решение головоломки “Пятнашки / Игра в 15” с помощью A*-поиска.

Неделя 8

  • Кратчайший путь в графе
  • Алгоритм Беллмана-Форда и алгоритм Дейкстры

Неделя 9

  • Топологическая сортировка и минимальное остовное дерево
Стоимость: 69 820 ₽
Подробнее о курсе →
Курс «Алгоритмы для разработчиков» — Школа анализа данных

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

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

Что ожидать от курса:

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

Структура курса:

  • Введение в алгоритмы: сложность, нотация O, оценка времени выполнения
  • Основные структуры данных: массивы, списки, стеки, очереди
  • Рекурсия и метод "разделяй и властвуй"
  • Различные методы сортировки: квадратичные, слиянием, быстрая, подсчётом
  • Хеш-функции и таблицы: свойства, коллизии
  • Деревья и сортировка кучей
  • Графы: представление, обход, кратчайшие пути
  • Динамическое программирование: одномерные и двумерные задачи
  • Жадные алгоритмы: область применения, доказательства корректности
  • Пробное алгоритмическое собеседование с наставником
  • Алгоритмы на строках: префикс-функция, поиск шаблонов
Стоимость: 50 000 ₽
Подробнее о курсе →
Курс «Специализация Структуры и алгоритмы данных» — Coursera
  • Приобретаемые навыки:
    • Отладка
    • Тестирование программного обеспечения
    • Алгоритмы
    • Структуры данных
    • Программирование на компьютере
    • Динамическое программирование
    • Бинарное дерево поиска
    • Приоритетная очередь
    • Хэш-таблица
    • Стек (абстрактный тип данных)
    • Список
    • Теория графов
  • Практический проект:
  • В каждой специализации присутствует практический проект, который необходимо успешно завершить для получения сертификата. Если для этого проекта предусмотрен отдельный курс в специализации, необходимо пройти все остальные курсы перед началом работы над ним.

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

  • Специализация включает несколько курсов:
    • Algorithmic Toolbox
    • Структуры данных
    • Алгоритмы на графах
    • Строковые алгоритмы
    • Продвинутые алгоритмы и сложность
    • Задание по программированию сборки генома
Стоимость: бесплатно
Подробнее о курсе →
Курс «Алгоритмы и структуры данных» — НИУ ВШЭ

Изучение Алгоритмов и Структур Данных

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

Цель Обучения

  • Понимание основных концепций структур данных
  • Изучение асимптотического анализа сложности алгоритмов
  • Навыки программирования на языке C++
  • Понимание принципов работы элементарных структур данных (список, стек, очередь и др.)
  • Изучение хэш-функций и хэш-таблиц
  • Знакомство с видами деревьев
  • Ознакомление с современными тенденциями в разработке структур данных

Ожидаемые Результаты Обучения

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

Содержание Обучающей Программы

  • Основные понятия
  • Элементарные структуры данных и С++
  • Хэш-таблицы
  • Деревья
  • Современные тенденции в разработке структур данных
Стоимость: нет информации
Подробнее о курсе →
Курс «Алгоритмы программирования и структуры данных» — Открытое образование

Основы информатики: изучение алгоритмов и структур данных

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

Цели обучения

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

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

Методы обучения

  • Использование системы автоматического тестирования программ для объективной проверки выполнения заданий по программированию.

Навыки, которые вы приобретете

  • Анализ и реализация базовых алгоритмов программирования и структур данных.
  • Проектирование и разработка средств для прикладных информационных технологий.

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

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

  • Оценка времени работы алгоритмов.
  • Алгоритмы сортировки (сортировка слиянием, быстрая сортировка).
  • Линейные алгоритмы сортировки (сортировка подсчетом, цифровая сортировка).
  • Элементарные структуры данных (стек, очередь, связанные списки).
  • Алгоритмы на основе двоичной кучи (сортировка кучей, очередь с приоритетами).
  • И другие.

Завершение курса

  • Изучение каждой темы в течение недели с выполнением заданий по программированию для практического применения изученных алгоритмов и структур данных.

Результаты обучения

  • Умение анализировать и реализовывать базовые алгоритмы программирования и структуры данных.
  • Навыки проектирования и разработки средств для прикладных информационных технологий.
  • Разработка алгоритмов для проведения исследований в области информатики.
Стоимость: нет информации
Подробнее о курсе →
Курс «Алгоритмы и структуры данных» — robot_dreams

После завершения курса вы сможете:

  • Освоить работу с различными структурами данных
  • Применять классические алгоритмы и выбирать их в соответствии с задачей
  • Разрабатывать новые решения и создавать собственные алгоритмы
  • Находить данные в упорядоченных массивах и решать задачи балансировки деревьев
  • Создавать хэш-таблицы, жадные алгоритмы и алгоритмы для работы со строками
  • Оценивать программный код и находить способы его оптимизации
  • Применять алгоритмы для динамического программирования
  • Устроиться на работу в компанию, ориентированную на интервью в стиле решения задач

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

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

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

Массивы как основные структуры данных

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

Рекурсия

Изучите случаи использования рекурсии, типичные рекурсивные задачи и научитесь реализовывать алгоритмы с ее помощью. Посчитайте n-ый элемент последовательности Фибоначчи через рекурсию.

Связные списки

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

Стеки и очереди

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

Алгоритмы поиска и сортировки

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

Алгоритмы сортировки. Часть 1 и 2

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

Деревья

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

Бинарные деревья поиска

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

Графы

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

Хеш-функции и хеш-таблицы

Изучите используемые хеш-функции и их применения, реализуйте структуру хеш-таблиц и разберитесь с коллизиями.

Динамическое программирование

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

Жадные алгоритмы

Освойте жадные алгоритмы, оптимизируйте работу с графами и выбирайте наилучшие методы решения задач.

Стоимость: нет информации
Подробнее о курсе →
Курс «Алгоритмы и структуры данных» — Shultais Education

Описание курса

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

Что будет изучено

  • Использование традиционных структур данных.
  • Выбор оптимальных структур для задач.
  • Определение сложности алгоритмов.
  • Оптимизация алгоритмов.
  • Проектирование рекурсивных алгоритмов на Python.
  • Оптимизация рекурсивных функций.
  • Построение и обход деревьев и графов.
  • Сортировка массивов и связных списков.
  • Быстрый поиск данных в массивах, деревьях и тексте.
  • Поиск и генерация больших простых чисел.
  • Эффективное использование Python.
  • Проектирование надежных и быстрых алгоритмов.
  • Работа с хэш-таблицами, словарями и ассоциативными массивами.
  • Шифрование и сжатие данных.
  • Генерация и обмен ключами шифрования.
  • Сортировка данных по нескольким критериям.
  • Использование комбинаторных алгоритмов и функций.
  • Перебор и оптимизация деревьев.

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

Введение в алгоритмы

  • 7 уроков
  • Основные характеристики алгоритмов.
  • Способы оценки сложности алгоритмов.

Структуры данных

  • 10 уроков
  • Базовые структуры данных.
  • Работа с связными списками и массивами.
  • Стек, очередь и дек в Python.
  • Выбор правильной структуры данных для задачи.

Сортировка

  • 13 уроков
  • Популярные алгоритмы сортировки на Python.
  • Выбор алгоритмов сортировки в зависимости от задачи.
  • Сортировка по нескольким полям.
  • Устойчивые сортировки.

Поиск

  • 2 урока
  • Линейный и бинарный поиск.
  • Использование интерполяционного поиска.

Численные алгоритмы

  • 7 уроков
  • Генерация случайных чисел и нахождение наибольшего общего делителя.
  • Алгоритмы быстрого возведения в степень.
  • Простые числа и решето Эратосфена.

Хэширование

  • 9 уроков
  • Хэш-таблицы и python-словари.
  • Пробирование и решение коллизий.
  • Фильтры Блума.

Рекурсия

  • 11 уроков
  • Рекурсивные вызовы.
  • Базовые рекурсивные алгоритмы Python.
  • Комбинаторные алгоритмы.
  • Оптимизация рекурсии.

И так далее

  • Деревья
  • Деревья принятия решений
  • Сетевые алгоритмы
  • Строковые алгоритмы
  • Криптография
  • Сжатие
  • Блокчейн
Стоимость: 4 700 ₽
Подробнее о курсе →
Курс «Основы алгоритмов и структур данных» — Хекслет

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

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

Курс по структурам данных и алгоритмам:

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

Уроки курса:

  • Продолжительность - 11 часов
  • Введение
  • Бинарный поиск
  • Алгоритмы сортировки
  • Алгоритмическая сложность
  • Жадные алгоритмы
  • Динамическое программирование
  • Динамическое программирование (продолжение)
  • Связный список
  • Двусвязный список
  • Очередь и стек
  • Дополнительные материалы
Стоимость: 3 900 ₽ в месяц
Подробнее о курсе →
Курс «Алгоритмы и структуры данных от А до Я» — Udemy

Что вы изучите:

  • Реализация основных структур данных: список, стек, очередь и понимание их устройства
  • Использование структур данных встроенных в BCL
  • Подготовка к собеседованиям, где будут алгоритмы
  • Деревья, хеш-таблицы и другие структуры данных
  • Различные алгоритмы

Материалы курса:

  • 15 разделов, 84 лекции

Материалы и сообщество:

  • Введение в алгоритмы и структуры данных
  • Введение в анализ алгоритмов
  • Массивы
  • Алгоритмы сортировки
  • Списки
  • Стек (Stack)
  • Очередь (Queue)
  • Алгоритмы поиска
  • Символьные таблицы
  • Символьные таблицы и Хеширование (Хеш-таблицы)
  • Деревья
  • Пирамида и пирамидальная сортировка
  • Различные алгоритмы
  • Бонусная лекция

Что внутри курса?

  • Введение в алгоритмы и структуры данных: структура данных, абстрактный тип данных, алгоритмы
  • Введение в анализ алгоритмов: время исполнения программы, Big-O нотация, память
  • Массивы
  • Алгоритмы сортировки: различные виды сортировок
  • Списки
  • Стек
  • Очереди
  • Алгоритмы поиска
  • Символьные таблицы
  • Хеш-таблицы
  • Деревья
  • Пирамиды
  • Различные алгоритмы
Стоимость: 1 490 ₽
Подробнее о курсе →
Курс «Алгоритмы и структуры данных» — ITVDN

Эффективный код на C# для продвинутых

Данный видеокурс предназначен для тех, кто уже владеет языком программирования C# на базовом уровне и стремится к совершенствованию навыков написания качественного кода. Основная цель обучения — освоить базовые алгоритмы и научиться применять их для решения разнообразных задач.

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

В результате обучения вы сможете:

  • Изучать основные алгоритмы и структуры данных;
  • Сочетать простые элементы языка для создания сложных алгоритмов;
  • Анализировать сложность алгоритмов;
  • Определять преимущества и недостатки различных структур данных;
  • Реализовывать разнообразные структуры данных: бинарные деревья поиска, хеш-таблицы, стеки, очереди, списки, динамические массивы, множества, графы;
  • Проектировать алгоритмы сортировки, поиска в массиве, обхода бинарного дерева, удаления узлов из дерева, алгоритмы расширения динамического массива и т.д.

Структура курса:

  • Введение в основные структуры данных и алгоритмы;
  • Работа со связными списками;
  • Изучение динамического массива, стека, очереди и множеств;
  • Основы алгоритмов сортировки;
  • Применение хеш-таблиц и работа с деревьями;
  • Графы: введение, часть 1, часть 2, часть 3;
  • Динамическое программирование;
  • Практические задачи.
Стоимость: 725 ₽
Подробнее о курсе →
Курс «Алгоритмы и структуры данных: Информация» — Интуит

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

  • Базовые алгоритмы
    • Определение понятия "алгоритм и структура данных"
    • Разбор основных видов алгоритмов, их характеристики и методы анализа
    • Примеры создания алгоритмов для вычисления чисел Фибоначчи, проверки на простоту и быстрого возведения в целую степень
    • Особенности работы с массивами и создания однопроходных алгоритмов, поиска минимального элемента и бинарного поиска
  • Элементарные структуры данных
    • Определение "абстрактного типа данных"
    • Рассмотрение амортизационного анализа и его особенностей
    • Изучение массивов, динамических массивов, стеков, очередей, дэков, очередей с приоритетом, связных списков и двоичных куч
    • Недостатки и преимущества каждого вида структур, их реализация в программном коде
  • Сортировки
    • Разбиение темы на две лекции
    • Подробное рассмотрение сортировок: выбором, вставками, пузырьком, быстрой сортировкой Хоара и другими
    • Оценка скорости работы алгоритмов и их анализ по количеству сравнений
    • Изучение других видов алгоритмов и их применение: слияние, счетчик, поразрядная и пирамидальная сортировка
  • Хеш-таблицы
    • Метод поиска хешированием и различные хеш-функции
    • Рассмотрение хеш-таблиц, методов разрешения коллизий и операций с элементами
    • Сравнение затрат времени и памяти для хеш-таблиц
  • Деревья
    • Определение понятия "деревья" и их характеристики
    • Способы представления деревьев в памяти и обхода дерева
    • Изучение двоичных деревьев поиска, декартовых и АВЛ-деревьев
    • Абстрактный тип данных "ассоциативный массив"

Экзамен

Стоимость: бесплатно
Подробнее о курсе →
Курс «Алгоритмы и структуры данных» — education mail.ru

Что предоставляет курс:

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

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

  • Основы алгоритмики
    • Понятие алгоритма;
    • Исполнитель алгоритма;
    • Сложность операций;
    • Сложность алгоритма;
    • Доказательство корректности;
    • Инварианты.
  • Простейшие алгоритмы
    • Рекурсия;
    • Принцип «разделяй и властвуй»;
    • Сложность алгоритмов «разделяй и властвуй»;
    • Алгоритмы быстрого умножения;
    • Алгоритм быстрого возведения в степень;
    • Жадные алгоритмы и их корректность;
    • Алгоритмы на строках.
  • Сортировка и поиск
    • Виды и применимость сортировок;
    • Задача поиска;
    • Парадигма CRUD: create, read, update, delete;
    • Поисковые структуры данных;
    • Списки, деревья поиска, балансированные деревья;
    • Хеш-функции и их применение;
    • Хеш-таблицы.
  • Более конкретные задачи
    • Динамическое программирование;
    • Прямой и обратный проходы;
    • Восстановление решения;
    • Сложные варианты задач;
    • Алгоритмы на графах;
    • Обход графов, нахождение компонент связности;
    • Построение остовных деревьев;
    • Нахождение кратчайших путей;
    • Нахождение потоков.
Стоимость: бесплатно
Подробнее о курсе →
Курс «Алгоритмы и структуры данных» — SkillFactory

Почувствуйте себя увереннее после прохождения нашего курса:

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

Для кого подходит наш курс:

  • Начинающим и опытным разработчикам, ищущим дополнительные знания
  • Тем, кто хочет повысить свой уровень до Middle и Senior
  • Желающим работать в крупных IT-компаниях

Что вас ожидает на курсе:

  • Фундаментальная теоретическая база
  • Много практики и решения алгоритмических задач
  • Домашние задания с обратной связью от ментора
  • Практика в математике и подготовка к техническим собеседованиям

Краткая программа курса включает в себя:

  • Линейные структуры данных и работу с ними
  • Рекурсию, комбинаторику и решение задач
  • Сортировки, поиск и хеширование данных
  • Графы, деревья и динамическое программирование
  • Практика с интересными задачами и прохождение mock-интервью
Стоимость: 48 400 ₽ или рассрочка на 12 месяцев - 4 033 ₽ / мес
Подробнее о курсе →

Перейти к курсу ↑