
- •Вопросы к экзамену по курсу «Основы алгоритмизации и программирования» иСиТ- I 2010/2011
- •Пирамидальная сортировка. Сортировка слиянием (однократное и циклическое слияние(?)).
- •Стек. Основные базисные операции для работы со стеком. Организация стека на основе массива и связного списка.
- •Очередь. Основные операции для работы с очередью.
- •Очередь с приоритетом. Основные операции для работы с приоритетной очередью
- •Деки. Логическая структура дека.
- •Списки как динамические структуры данных. Виды линейных списков. Способы формирования односвязных списков. Оценка сложности.
- •Алгоритмы вычисления хэш-функции.
Алгоритмы вычисления хэш-функции.
Преобразовывает ключи в адреса таблицы.
Хэш-таблицы. Прямая адресация в хэш-таблицах.
Необходимо построить для каждого адреса таблицы H связный список элементов, ключи которых отображаются на этот адрес.
Хэш-таблицы. Коллизии. Построение цепочек.
Ситуация когда для различных ключей, получается одно и то же хеш-значение. Разрешается с помощью цепочек. Элементы множества, которым соответствует одно и то же хеш-значение, связываются в цепочку-список.
Хэш-таблицы. Открытая адресация в хэш-таблицах. Способы вычисления последовательности испробованных мест при открытой адресации (линейный, квадратичный).
Хеш-списков нет, все записи хранятся в самой хеш-таблице, каждая ячейка хранит либо значение динамического множества, либо NULL.
Хэш-таблицы. Основные свойства и эффективность.
Основной параметр, от которого зависит время выполнения – коэффициент заполнения(число хранимых эл-тов/размер массива).
Задача поиска подстрок, простейший алгоритм.(?)
Задача поиска подстрок . Алгоритм Хорспула. Алгоритм Карпа-Рабина.(?)
Задача поиска подстрок . Алгоритм Бойера-Мура. Алгоритм Кнута-Морриса-Пратта(?)
Методы разработки алгоритмов. Метод декомпозиции, динамическое программирование.
Разбиение задачи на более мелкие задачи ,в результате решения которых получить решение исходной задачи.
Методы разработки алгоритмов. Жадные алгоритмы, поиск с возвратом, локальный поиск.
На каждой новой стадии алгоритм выбирает более оптимальный вариант.
Поиск с возвратом – полный перебор.
Локальные преобразования – решения, которые можно преобразовать одно в другое за один шаг, как близкие, а соответствующий метод – локальный поиск.
Библиотеки С++. Структура библиотеки STL.(?)
Обзор библиотек С++ (Loki, Boost, MFC, ATL, WTL, OpenGL, QT и др.)(?)