Понятие алгоритма и вычислимой функции. Частично рекурсивные функции. Тезис Черча. Машины Тьюринга. Тезис Тьюринга

Вид материалаДокументы
Подобный материал:
Список вопросов к экзамену
  1. Понятие алгоритма и вычислимой функции. Частично рекурсивные функции. Тезис Черча. Машины Тьюринга. Тезис Тьюринга. Рекурсивные и рекурсивно перечислимые множества. Неразрешимые проблемы.
  2. Временная сложность алгоритма. Θ, Ω, Ο – символика. Правила подсчета временной сложности.
  3. Полиномиальная и экспоненциальные сложности. Классы P и NP. NP-полные задачи. Примеры.
  4. Метод ветвей и границ. Применение метода ветвей и границ для решения задачи о рюкзаке.
  5. Динамическое программирование. Пример применения динамического программирования для решения задачи об оптимальной последовательности перемножения матриц. Свойства задач, для которых применимо динамическое программирование.
  6. Динамическое программирование. Пример применения динамического программирования для решения задачи о линейном раскрое. Свойства задач, для которых применимо динамическое программирование.
  7. Жадные алгоритмы. Свойство жадного выбора. Задача о выборе заявок. Свойства задач, для которых применим жадный алгоритм.
  8. Приближенные методы решения задач: ослабление задачи, локальный поиск, эвристика жадного выбора и локального поиска. Примеры.
  9. Абстрактные типы данных. АТД словарь. Реализация при помощи нагруженного дерева. Способы реализации нагруженного дерева в ЭВМ.
  10. Очереди с приоритетом. Способы реализации. Частично-упорядоченное дерево (пирамида или двоичная куча). Реализация пирамиды.
  11. Корневые деревья. Реализация корневого дерева. Представление «левый сын – правый брат».
  12. Поиск в графе в глубину, поиск в ширину.
  13. Определение компонент связности неориентированного графа.
  14. Определение компонент сильной связности ориентированного графа.
  15. Поиск мостов. Поиск точек сочленения.
  16. Топологическая сортировка.
  17. Поиск кратчайших путей в бесконтурном графе.
  18. Алгоритм Форда-Беллмана.
  19. Алгоритм Дейкстры.
  20. Алгоритм Флойда.
  21. Минимальные покрывающие деревья. Алгоритм Прима. Алгоритм Крускала.


Критерии оценок:

«Отлично» – умение обосновать правильность работы алгоритма, оценить его сложность.


«Хорошо» – знание формулировок задач, определений, умение объяснить, как устроены алгоритмы и используемые структуры данных.


«Удовлетворительно» – твердые знания определений, методов, алгоритмов.


«Неудовлетворительно» – незнание предмета, либо знания бессистемные, обрывочные.