Курс начинается с понимания базовых понятий - что такое алгоритмы и структуры данных. Слушатели узнают о временной сложности алгоритмов и научатся использовать О-нотацию для ее оценки. Первый модуль охватывает работу со связными списками - как односвязными, так и двусвязными, с практическими примерами реализации на C#.
На этом этапе рассматривается работа с динамическими массивами. Слушатели научатся создавать ArrayList на C#, добавлять и удалять элементы, понимать политику роста динамического массива и работать с индексацией.
Модуль посвящен двум фундаментальным структурам данных - стекам и очередям. Курс охватывает реализацию стека на основе двусвязного списка с методами Push, Pop, Peek и Count. Также рассматриваются очереди - обычные и двусвязные, с методами Enqueue, Dequeue, Peek и Count. Показаны различные способы реализации - на основе списков и массивов.
Этот блок учит работе с древовидными структурами. Слушатели научатся реализовывать деревья на основе массивов и бинарные деревья поиска на C#. Модуль включает добавление, удаление и поиск узлов, а также прямые, обратные и симметричные обходы дерева. Вторая часть модуля посвящена множествам - реализации класса Set, операциям объединения, пересечения, разности и симметричной разности.
Здесь рассматриваются основные алгоритмы сортировки: пузырьком, вставками, выбором, слиянием, Шелла и быстрая сортировка. Каждый алгоритм демонстрируется с объяснением принципа работы и особенностей реализации.
Модуль начинается с изучения хеш-таблиц - их структуры, хеш-функций и способов решения коллизий. Вторая часть посвящена В-деревьям - их реализации на C#, операциям поиска, добавления и удаления записей, а также анализу времени выполнения операций.
Завершающая часть курса включает работу с классическими задачами: коммивояжера, Ханойские башни, триангуляция и рюкзак. Эти задания помогают закрепить полученные знания на практике.
После завершения курса слушатели смогут разбираться в распространенных алгоритмах и структурах данных, оценивать сложность алгоритмов, знать сильные и слабые стороны различных структур данных. Они научатся работать с графами, реализовывать сложные структуры данных и создавать алгоритмы сортировки, поиска и обхода деревьев.
Курс включает практические занятия с проверкой домашних заданий, бесплатный видеокурс, онлайн тестирование и выдачу сертификата после успешного завершения.