
Вопросы и задачи к экзамену
.docxВопросы к экзамену
Понятие данных. Классификация структур данных
Последовательное и связное представление данных
Уровни представления данных в информационных системах. Принцип независимости уровней данных
Линейные структуры данных: массивы
Линейные структуры данных: списки (последовательные списки, кольцевые списки)
Стек: последовательное и связное представление.
Очередь: последовательное и связное представление.
Блоковые списки
Индексированные списки
Индексированные блоковые списки
Деревья: основные понятия, классификация деревьев, операции, выполняемые над деревьями
Способы представления деревьев в памяти ЭВМ
АВЛ-деревья
B-деревья
Графы: основные понятия, представление графов в памяти ЭВМ
Алгоритмы на графах: обходы, построение МОД, поиск кратчайшего пути
Цель и задачи анализа алгоритмов. Рекурсивные и итерационные алгоритмы. Понятие скорости роста алгоритма
Алгоритмы вида «Разделяй и властвуй». «Жадные» алгоритмы
Динамическое программирование. Поиск с возвратом. Локальный поиск
Хеширование данных. Методы разрешения коллизий при хешировании
Общие принципы сортировки линейных структур данных. Факторы, учитываемые при выборе метода сортировки
Метод выбора. Метод обмена. Метод Шелла
Метод вставок. Метод подсчета. Быстрая сортировка
Пирамидальная сортировка
Сортировка слиянием. Внешняя сортировка
Основные принципы информационного поиска. Виды информационного поиска. Логика и стратегия поиска
Метод последовательного поиска. Двоичный поиск. Блочный поиск
Использование справочников при ускоренном поиске
Многоаспектный поиск с использованием инверсных массивов
Примеры задач к экзамену
Дан отсортированный массив целых чисел A. Написать программу нахождения минимального число из ряда чисел Фибоначчи, не встречающегося в этом массиве. Для поиска использовать метод двоичного поиска.
Написать программу, которая осуществляла бы чтение из текстового файла информационного массива следующей структуры: <Марка машины> <Год выпуска> <Пробег> <Цена>, сортировала бы считанные данные по возрастанию цены автомобиля методом выбора и выводила отсортированный массив на экран.
Написать программу, которая осуществляла бы чтение слов из текстового файла, упорядочивала бы их по алфавиту методом вставок и сохраняла отсортированные данные в другой текстовый файл.
Дано троичное дерево Tree заполненное целыми числами. Написать программу нахождения максимального двухзначного числа кратного трем, встречающегося в этом дереве. Для поиска использовать прямой обход дерева
Дан массив целых чисел. Построить на его основе упорядоченное двоичное дерево и вывести на экран результат смешанного обхода построенного дерева.
Дан ориентированный граф Graph, заданный матрицей смежности. Написать программу проверяющую есть ли путь в этом графе от вершины A до вершины B. A и B задаются пользователем, для поиска использовать обход графа в глубину