• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

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

2020/2021
Учебный год
RUS
Обучение ведется на русском языке
8
Кредиты
Статус:
Курс обязательный
Когда читается:
1-й курс, 1-4 модуль

Преподаватели


Близнец Иван Анатольевич


Будин Николай Алексеевич

Программа дисциплины

Аннотация

Данная дисциплина опирается на дисциплины из школьного курса и направлена на овладение навыками использования основных применяемых в программировании структур данных, алгоритмов обработки данных и анализа этих алгоритмов, взаимосвязи алгоритмов и структур данных. В результате изучения этой дисциплины студенты будут иметь практические навыки конструирования конкретных алгоритмов и структур данных для решения разнообразных математических и программистских задач. В результате изучения дисциплины обучающийся должен: знать: - методы оценки сложности алгоритмов в среднем и в худшем случаях; - элементарные структуры данных; - постановки основных задач; - основные классы алгоритмов: «разделяй и властвуй», «жадные алгоритмы», алгоритмы на динамическое программирование; - специализированные структуры данных, используемые в различных алгоритмах. уметь: - оценивать сложность алгоритмов в среднем и в худшем случаях; - выделять из практических задач их алгоритмическую составляющую; - реализовывать изученные алгоритмы и структуры данных на процедурных языках программирования; - выбирать оптимальные алгоритмы и структуры данных, в зависимости от конкретных ограничений на решение задачи; - применять приближённые алгоритмы в тех случаях, когда эффективное точное решение невозможно. владеть: - методами оценки сложности алгоритмов сложность алгоритмов в среднем и в худшем случаях; - навыками реализации алгоритмов и структур данных на процедурных языках программирования.
Цель освоения дисциплины

Цель освоения дисциплины

  • Целью освоения дисциплины «Алгоритмы и структуры данных» является формирование у студентов теоретических знаний и практических навыков в области теории алгоритмов, современных структур данных и их реализации на языке программирования C++ для построения математических моделей дискретных структур и разработки программного обеспечения.
Планируемые результаты обучения

Планируемые результаты обучения

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

Содержание учебной дисциплины

  • Основые понятия теории алгоритмов и структур данных
  • Динамическое программирования.
  • Комбинаторные и графовые алгоритмы
  • Элементы теории сложности алгоритмов.
  • Кратчайшие пути. Жадные алгоритмы
  • Деревья поиска, деревья отрезков и другие аналогичные структуры
  • Алгоритмы на графах.
  • Потоки в орграфах. Строки
  • Игры на графах. Быстрое преобразование Фурье. Линейная алгебра
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание №1
  • неблокирующий Домашнее задание №2
  • неблокирующий Домашнее задание №3
  • неблокирующий Домашнее задание №4
  • блокирующий Письменный экзамен №1
  • блокирующий Письменный экзамен №2
  • блокирующий Письменный экзамен №3
  • блокирующий Письменный экзамен №4
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (2 модуль)
    0.59 * Домашнее задание №1 + 0.41 * Домашнее задание №2
  • Промежуточная аттестация (4 модуль)
    0.59 * Домашнее задание №4 + 0.41 * Письменный экзамен №4
Список литературы

Список литературы

Рекомендуемая основная литература

  • Алгоритмы и структуры данных: Учебник / Белов В.В., Чистякова В.И. - М.:КУРС, НИЦ ИНФРА-М, 2016. - 240 с.: 60x90 1/16. - (Бакалавриат) (Переплёт 7БЦ) ISBN 978-5-906818-25-6 - Режим доступа: http://znanium.com/catalog/product/551224

Рекомендуемая дополнительная литература

  • Skiena, S. S. (2008). The Algorithm Design Manual (Vol. 2nd ed). London: Springer. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=277139