Вы находитесь на странице: 1из 2

Курс: Структуры данных и алгоритмы

Список вопросов

1. Краткая история. Основные понятия: Алгоритм, Структуры Данных, etc.


2. Теория алгоритмов и машина Turing- а.
3. Структуры данных. Классификация. Сравнение C и C++.
4. Комбинаторика. Перестановки, Комбинации, Размещения и их вычисление.
5. Комбинаторные алгоритмы. Программирование алгоритмов.
6. Формулы Herigonne, Pascal. Доказательство. Примеры и практические
приложения.
7. Рекурсия. Рекурсивные алгоритмы. Рекурсивные функции. Примеры.
Программирование алгоритма “ n!”;
Программирование алгоритма “ Числа Fibbonacci”,
Программирование алгоритма “Hanoi-ские башни”.
8. Сортировка простыми включениями (Straight insertion). Возможности
улучшения эффективности метода.
9. Сортировка простым выбором (Straight selection). Возможности улучшения
эффективности метода.
10. Сортировка простым обменом (Bubble sort – метод пузырька).Возможности
улучшения эффективности метода.
11. Шейкер сортировка. (Shaker Sort).
12. Параметры, которые характеризуют эффективность алгоритма.
13. Сортировка включениями с убывающим приращением. ( Shell Sort)
14. Сортировка при помощи модели дерево, применяя вектор. Пирамидальная
сортировка.  (Heap Sort)
15. Сортировка с разделениями. (Quick Sort)
16. Поиск текстовой информации. Особенности задачи:
 Программирование алгоритма поиска модели согласно „Прямого метода”.
 Программирование алгоритма Knuth-Morris Pratt.
 Программирование алгоритма Boyer–Moore.
17. Элементарные и абстрактные структуры данных. Примеры абстрактных
данных (основываясь на объекты теории графов). – реферат 6 лекция.
18. Графы.
a) Основные понятия. Основные структуры данных, используемые для
представления графов.
Дополнительные темы для рефератов:
b) Программирование алгоритма нахождения минимального пути в графе (maxim):
упрощенный алгоритм Ford-а (Для графов не содержащих циклов).
c) Программирование алгоритма проверки существования циклов в графе.
Алгоритм нахождения минимального пути в графе. Метод Dijkstra. Алгоритм
нахождения цикла в графе.
19. Деревья. Способы представления деревьев:
a) Обобщенные списки,
b) Связанные списки.
20. Деревья. Особенности задачи построения минимального дерева
Алгоритм PRIM,
Алгоритм KRUSCAL.
21. Бинарное дерево. Основные операции для бинарного дерева
22. Стратегии прохождения двоичного бинарного дерева:
Пред порядковый метод: прохождение методов: Rad, SAS, SAD;
Порядковый метод: прохождение методов: SAS, Rad, SAD;
Пост порядковый метод: прохождение методов: SAS, SAD, Rad.
23. Двоичное дерево поиска. BST – binary search tree.
 Таблицы Hashing.
 Функции: Search, Insert, Delete. Примеры программ.
 Нахождение наибольшего/наименьшего элемента (наибольшего узла)
дерева BST.
 Создания BST дерева исходя из заданной последовательности атомов.
24. Сбалансированное двоичное дерево поиска (AVL). Эквивалентные
трансформации структуры дерева после вставки нового элемента с сохранением
свойства сбалансированного дерева:
 Зеркальное преобразование ротации правое/левое.
 Вставка элементов методом двойных ротации.
25. Очереди с приоритетом. Структура Heap. Операции вставки элементов.
Алгоритм Heap.
26. Техника Greedy. //темы для рефератов
Минимизация среднего времени ожидания.
Оптимальная интерклассация упорядоченных последовательностей.
Минимально покрывающее дерево.
Минимальные пути в графе.
27. Техника Backtracking (алгоритмы с возвратом). Особенности задач, которые
можно решить с помощью Backtracking. Примеры:
 a) Задача размещения восьми ферзей на шахматной доске;
 b) Задача прохождения конем шахматной доски.
28. Техника Divide et Impera (разделяй и властвуй). Примеры:
 Бинарный поиск.
 Merge Sort (Сортировка методом слияния-интерклассации).
 Merge Sort (Быстрая сортировка).