Microsoft Silver Partner
Оформить заявку

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

Изображение к курсу Алгоритмы и структуры данных
Курс Алгоритмы и структуры данных
Длительность 10 дней / 20 часов
Количество уроков 10

Очное обучение

2150 UAH Записаться

Онлайн обучение

2150 UAH Записаться

Видео обучение

Оформить подписку

Консультации

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

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

Уже на первом уроке курса нами детально рассматриваются вопросы оценки времени выполнения алгоритмов, как составной части решения поставленной задачи, поскольку для задач больших размеров важную роль играет не только мощность вычислительных средств, но и эффективность алгоритма. Далее будут рассмотрены основные структуры данных, в контексте которых мы посмотрим на односвязные и двухсвязные списки, динамические массивы, стеки, очереди, деревья и множества. Мы детально познакомимся с алгоритмами сортировки, с понятиями «хеш-таблицы» и «АВЛ-деревья». Так же, рассмотрим такую структуру данных как «Граф», которая широко используется в жизни. Освоим метод динамического программирования для решения разного рода задач. Заключительный урок нашего курса будет посвящен решению практических примеров - задачи коммивояжера, задачи о ханойских башнях и других интересных задач.

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

• Уверенное владение персональным компьютером
• Базовые знания языка программирования C#
Курс предназначен для начинающих программистов и тех, кто имеет базовые знания о программировании и хочет их усовершенствовать. Также курс может быть полезен опытным программистам для систематизации знаний по алгоритмам.
Урок 1

Введение в структуры и алгоритмы данных. Связные списки.

Назначением данного урока является ознакомление со структурами данных и понятием алгоритма. Рассматривается асимптотическая сложность алгоритма. Использование О-нотации. Рассматриваются односвязные и двусвязные списки.

Урок 2

Динамический массив, Stack, Queue и Set.

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

Урок 3

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

На занятии объясняются основные виды сортировки данных. Демонстрируется их суть и реализация. Сравниваются различные методы сортировки для различных назначений и предусловий. Кратко разъясняется суть относительно новой сортировки Timsort.

Урок 4

Хеш-таблицы. Деревья.

На уроке рассматривается две структуры данных: хеш-таблица и дерево. Разъясняется суть хеш-таблицы, принцип ее работы, хеш-функция и коллизии в хеш-таблицах. Осматривается структура данных «Дерево», более детально объясняется бинарное дерево поиска и добавление узлов в дерево.

Урок 5

Бинарное дерево поиска. АВЛ-дерево.

Данный урок посвящен рассмотрению методов для работы с бинарным деревом поиска, таких как удаление узла из дерева (3 варианта удаление), поиск узла в дереве, прямой, обратный и симметричный обходы дерева. Рассматривается суть АВЛ дерева, как модернизация бинарного дерева поиска. Разъясняется суть балансировки АВЛ дерева и способы реализации балансировки.

Урок 6

Графы. Часть 1.

На уроке рассматривается популярная и сложная структура данных «Граф». Введение в теорию графов, способы задания графа и два варианта поиска по графу: в ширину и глубину.

Урок 7

Графы. Часть 2.

На уроке рассматриваются темы из теории графов, такие как связные компоненты, Эйлеров цикл. Рассматривается известный алгоритм Ли. Разъясняется нахождение кратчайшего пути между вершинами графа. Демонстрируется алгоритм Дейкстры.

Урок 8

Графы. Часть 3.

На занятии идет углубление в теорию графов. Кратко излагается суть и принцип алгоритма Флойда-Уоршелла. Разъясняется и демонстрируется топологическая сортировка и поиск компонентов связности через обход в глубину.

Урок 9

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

На уроке рассматривается подход динамического программирования к решению многих задач. Разъясняется суть и принцип различных приемов. Демонстрируются типичные задачи и их решение.

Урок 10

Задачи. Практикум.

На занятии рассматриваются следующие задачи: Ханойские башни, задача коммивояжёра, задача про рюкзак.

• Определять сложность алгоритма.
• Понимать принципы построения и использования структур данных.
• Реализовывать самые распространенные алгоритмы и модернизировать их для собственных нужд.
• Различать преимущества использования тех или иных структур в каждом конкретном случае.
Check mark Запись в учебный центр Separator Онлайн форма для регистрации
Стационар Полустационар Специальности
Дата начала Дата окончания Время

Не нашли подходящий курс в расписании? Оформите заявку

Стационар Полустационар Специальности
Дата начала Дата окончания Время

Не нашли подходящий курс в расписании? Оформите заявку