Структуры данных и алгоритмы. Вопросы к зачету

January 21, 2007Comments Off on Структуры данных и алгоритмы. Вопросы к зачету


  1. “Качественность” программы – критерии оценки. Функции для оценки времени: точность: секунды, миллисекунды. Понятие об автоматизации тестирования.
  2. Функция “O”, назначение, свойства, здесь же будет задача: дается несложная программка вроде подсчета суммы элементов массива, необходимо будет определить значение функции ”O” для этого примера.
  3. Критерии сравнения и классификация алгоритмов сортировки. Ключевая функция. Оптимизация сортировки с помощью индексирования.
  4. Сортировка методом прямого обмена. Пример кода программы. Взять набор чисел X1, X2, …, Xn и на бумаге отобразить, как будет изменяться данный массив после каждого прохода внешнего цикла.
  5. Сортировка методом прямой вставки. Пример кода программы. Взять набор чисел X1, X2, …, Xn и на бумаге отобразить, как будет изменяться данный массив после каждого прохода внешнего цикла.
  6. Сортировка методом прямого выбора. Пример кода программы. Взять набор чисел X1, X2, …, Xn и на бумаге отобразить, как будет изменяться данный массив после каждого прохода внешнего цикла.
  7. Сортировка методом шейкера. Пример кода программы. Взять набор чисел X1, X2, …, Xn и на бумаге отобразить, как будет изменяться данный массив после каждого прохода внешнего цикла. В чем суть метода сортировки вставки с половинным делением.
  8. Сортировка методом слияния в случае, когда исходный массив не упорядочен и имеет размер кратный 2^n и в случае, когда размер не кратен этой величине. Также взять набор чисел X1, X2, …, Xn и на бумаге отобразить, как будет изменяться данный массив после каждого прохода внешнего цикла.
  9. Поиск элемента в массиве: простой перебор, метод половинного деления, эвристический метод поиска. Генерация случайных величин с равномерным и случайным законом распределения.
  10. Алгоритм поиска “k-ого” по величине элемента массива. Пример кода. На бумаге показать, как будут перемещаться элементы, в ходе “частичной сортировки”, набор чисел: X1,X2, ,Xn…
  11. Сортировка методом прямого выбора. Пример кода программы. Взять набор чисел X1, X2, …, Xn и на бумаге отобразить, как будет изменяться данный массив после каждого прохода первого внешнего цикла и второго внешнего. Способы расчета “расстояний” для данного алгоритма.
  12. “Быстрая сортировка”. Пример кода программы. Взять набор чисел X1, X2, …, Xn и на бумаге отобразить, как будет изменяться данный массив на каждом из уровней спуска рекурсии.
  13. “Пирамидальная сортировка” - Пример кода программы. Взять набор чисел X1, X2, …, Xn и на бумаге отобразить, как будет изменяться данный массив на каждом шаге постройки пирамиды на стадиях прямого и обратного хода.
  14. Рекурсия. Основные характеристики. Преимущества и недостатки + написать несложную задачку рекурсивным путем рассчитать, например сумму элементов массива или что-то похожее.
  15. Рекурсия и способ имитации рекурсии с помощью стека. Преимущества. Написать несложную задачку с помощью “имитации рекурсии – стека” рассчитать, например, сумму элементов массива или что-то похожее.
  16. Динамические структуры данных, определение. Модель представления оперативной памяти. Стек. Виды реализаций стеков (из практической работы), недостатки и плюсы каждой из трех моделей.
  17. Динамические структуры данных. Список однонаправленный. Очередь. Операции добавления, удаления элементов, поиск в очереди элемента - примеры кода.
  18. Динамические структуры данных. Список с двумя связями. Дек. Операции добавления, удаления элементов, поиск в очереди элемента - примеры кода.
  19. Деревья. Способы представления деревьев. Операция добавления в дерево нового узла. Операции прохода по дереву.
  20. Итераторы и курсоры.