• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site
Article
Statistical testing of segment homogeneity in classification of piecewise-regular objects

Savchenko A., Belova N. S.

International Journal of Applied Mathematics and Computer Science. 2015. Vol. 25. No. 4. P. 915-925.

Article
Reconstruction of a word from a finite set of its subwords under the unit shift hypothesis. I. Reconstruction without for bidden words1

Smetanin Y., Ulyanov M.

Cybernetics and Systems Analysis. 2015. Vol. 50. No. 1. P. 148-156.

Article
VTMine Framework as Applied to Process Mining Modeling

Sergey Andreevich Shershakov.

International Journal of Computer and Communication Engineering. 2015. Vol. 4. No. 3. P. 166-179.

Algorithms and Data Structures-1

2024/2025
Academic Year
RUS
Instruction in Russian
5
ECTS credits
Type:
Elective course
When:
2 year, 1, 2 module

Instructors

Бутаков Дмитрий Викторович

Бутаков Дмитрий Викторович

Terlych, Nikita

Terlych, Nikita

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

Аннотация

Учебный курс «Алгоритмы и структуры данных» предлагается студентам бакалавриата по направлению «Программная инженерия» на факультете компьютерных наук НИУ ВШЭ. Курс относится к обязательным предметам. Основная задача данного курса лежит в формировании основ профессионального каркаса в области проектирования и анализа эффективности алгоритмов, а также разработки структур данных. В рамках курса, в частности, рассматриваются различные способы асимптотического анализа детерминированных и стохастических алгоритмов, подходы к сортировке линейных контейнеров, а также сбалансированные древовидные структуры данных. Лекции и практические занятия тесно взаимосвязаны. Лекции, в первую очередь, предназначены для знакомства с новыми темами, тогда как практические занятия предназначены для решения конкретных задач — аналитически, а также путем реализации алгоритмов на языке С++.
Цель освоения дисциплины

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

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

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

  • овладеть принципами построения и методами анализа временной сложности алгоритмов
  • овладеть подходами к проектированию базовых и продвинутых структур данных
  • получить практический опыт в реализации алгоритмов и структур данных на языке программирования C++
Содержание учебной дисциплины

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

  • Неделя 1. Введение
  • Неделя 2. Линейные контейнеры
  • Неделя 3. Асимптотический анализ. Разделяй-и-властвуй 1.
  • Неделя 4. Разделяй-и-властвуй 2. Рекуррентные соотношения
  • Неделя 5. Разделяй-и-властвуй 3. Master-теорема
  • Неделя 6. Стохастические алгоритмы
  • Неделя 9. Порядковая статистика и нелинейные сортировки
  • Неделя 10. Сортировка за линейное время
  • Неделя 11. Бинарные деревья-1
  • Неделя 12. Бинарные деревья-2
  • Неделя 13. Бинарные деревья-3
  • Неделя 14. Бинарные деревья-4
Элементы контроля

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

  • неблокирующий НАКОП
    Формализуемая часть накопленной оценки
  • неблокирующий ЭКЗАМЕН
    Экзамен по курсу
  • неблокирующий ПР_ЗАН
    Регулярная работа на практических занятиях
Промежуточная аттестация

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

  • 2024/2025 2nd module
    0.48 * НАКОП + 0.17 * ПР_ЗАН + 0.35 * ЭКЗАМЕН
Список литературы

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

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

  • Data structures and algorithm analysis in C++, Weiss, M. A., 2006
  • Introduction to algorithms, Cormen, T. H., 2009

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

  • Алгоритмы на С++ : анализ структуры данных, сортировка, поиск, алгоритмы на графах, Седжвик, Р., 2014
  • Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих. - 978-5-496-02541-6 - Бхаргава А. - 2017 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/364142 - 364142 - iBOOKS

Авторы

  • Нестеров Роман Александрович