Алгоритмы и структуры данных, часть 1
Санкт-Петербург, осень 2021
Описание
О курсе
Этот курс поможет вам получить представление о фундаментальной составляющей программирования -- алгоритмах, а также о том как хранить данные и обрабатывать их — структурах данных. Мы научимся понимать, какие алгоритмы и какие структуры данных подходят к данной вам задаче, какие более эффективные. Научимся понимать какого рода задача вам поставлена. Рассмотрим множество приемов, которые уже придумало человечество, поймем, как они это придумали, и сравним эти приемы.
Мы будем решать теоретические задачи на доказательство и изобретение своих простых алгоритмов, мы будем программировать изученные алгоритмы и структуры данных, применять их в заданных вам ситуациях. Поговорим о том, какие алгоритмы используются в индустрии, а какие имеют большое теоретическое значение для развития науки и области.
Начнем мы курс с понятия алгоритма и как оценивать скорость алгоритмов, с методов сортировок и поиска данных, познакомимся с методами динамического программирования и многое другое.
Продолжим структурами данных, алгоритмами на графах и другими не менее интересными темами.
Домашние задания
Будут состоять из двух типов задач:
- Задачи на программирование будут приниматься в автоматическом режиме на системе для контестов.
- Задачи на доказательство будет приниматься через сайт центра.
Критерии оценки
Оценка будет выставляться по результатам решения домашних заданий. Теоретические домашние задания составляют 50% от общей оценки, задачи на программирование — 50%.
За 90% решённых задач выставляется оценка отлично,
за 75% — хорошо,
за 60% — зачёт.