Алгоритмы решения задач и программирование
В данном курсе осуществляется знакомство как с типовыми задачами программирования и основными моделями и методами их решения, на примере которых дается представление об искусстве программирования, так и с современными, постоянно развивающимися, используемыми в ведущих международных чемпионатах по информатике и программированию.
Цель курса:
Знакомство с типовыми задачами программирования и основными моделями и методами их решения; освоение алгоритмов и методов разработки программ для решения задач повышенной сложности разных направлений; совершенствование владения языками программирования и техникой программирования.
Описание курса:
В данном курсе осуществляется знакомство как с типовыми задачами программирования и основными моделями и методами их решения, на примере которых дается представление об искусстве программирования, так и с современными, постоянно развивающимися, используемыми в ведущих международных чемпионатах по информатике и программированию
По окончании курса Вы будете:
иметь представление:
- о различных стилях программирования;
- о способах оценки (объема памяти и быстродействия) методов решения задачи;
- о приближенных алгоритмах; об оптимальных стратегиях игр;
знать:
- основные классические алгоритмы теории графов, расписаний, поиска, сортировки;
- классические и типовые задачи, перечень NP-полных задач;
- основные структуры данных и способы их реализации;
- способы кодирования информации в ЭВМ;
уметь:
- анализировать постановку задачи с целью выделения подзадач, сводимых к классическим задачам; реализовать представленные методы (итерационный, рекурсивный, динамического программирования) и алгоритмы;
- корректно поставить задачу на основании формулировки проблемы и ее контекста;
- доказательно выбрать самый оптимальный способ решения на основе анализа вариантов решения и различных критериев эффективности;
- реализовать решение задачи в крайне ограниченное и строго определенное время.
В курсе рассматриваются следующие вопросы:
- Основы арифметики в позиционных системах счисления
- Представление числовой информации в ЭВМ
- Элементы теории информации и кодирования
- Перестановки
- Поиск
- Сортировка массивов
- Сортировка файлов
- Классические задачи на графах и деревьях
- Динамическое программирование
- Геометрические задачи
- Потоки в сетях, паросочетания.