Вопросы к экзамену по дисциплине «Основы компьютерных наук»
направление 010200.62 – «Математика и компьютерные науки»
физико-математический факультет, очное отделение
III курс, 6 семестр
уч. год
1. Понятие алгоритма. Виды алгоритмов: механический, вероятностный, эвристический, вспомогательный (подчиненный).
2. Эффективные алгоритмы. Основные принципы создания эффективных алгоритмов.
3. Сложность алгоритмов. Оценка сложности алгоритмов. Функции сложности алгоритмов.
4. Итеративные и рекурсивные алгоритмы. Пример.
5. Методы разработки алгоритмов: декомпозиция, динамическое программирование, «жадные» методы, поиск с возвратом, локальный поиск.
6. Понятие структуры данных. Физическая и логическая структура данных. Классификация структур данных: простые и структурированные, по признаку изменчивости, несвязные и связанные, линейные и нелинейные.
7. Простые структуры данных: целые, вещественные, символьный, логический, диапазон, перечислимый, указатель.
8. Статические структуры данных: вектор, массивы, множества, записи, таблицы.
9. Файловые структуры данных. Физическая и логическая организация файла. Файлы последовательного, прямого, комбинированного доступа.
10. Полустатические структуры данных: стеки, очереди, деки, строки.
11. Динамические структуры данных: линейные связанные списки, разветвленные связанные списки, графы, деревья.
12. Абстрактные типы данных.
13. Основные принципы объектно-ориентированного программирования.
14. Понятие объекта. Построение объекта.
15. Понятие класса. Организация и структура класса. Конструктор и деструктор.
16. Понятие метода. Динамические, виртуальные и абстрактные методы.
Составитель: ст. преподаватель кафедры информатики, ТиМОИ
Зав. кафедрой информатики, ТиМОИ: к. п. н., доцент


