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

Эффективные решения вычислительных задач

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

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

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

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

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

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