Вопросы к зачету

Вид материалаЗадача
Подобный материал:
ЛКШ—2003, Группа D

Вопросы к зачету

  1. Структуры данных. Реализация стека и очереди. Примеры использования. Задача о правильности скобочной последовательности.
  2. Способы представления графов.
  3. Обход в ширину. Описание алгоритма. Решаемые задачи. Реализация. Оценка сложности.
  4. Обход в глубину. Описание алгоритма. Решаемые задачи. Реализация. Оценка сложности.
  5. Мосты, точки сочленения и методы их нахождения.
  6. Поиск кратчайших путей в графе с неотрицательными весами ребер. Алгоритм Дейкстры.
  7. Поиск кратчайших путей. Алгоритм Форда-Беллмана.
  8. Поиск кратчайших путей между всеми парами вершин. Алгоритм Флойда.
  9. Работа с указателями. Выделение и освобождение динамической памяти. Указатели на статические переменные. Побочные и неожиданные эффекты, которые могут возникать.
  10. Реализация списков.
  11. Деревья поиска, сбалансированные деревья. Балансировка. АВЛ-деревья.
  12. Heap. Heapsort.
  13. Деревья. Теоремы о свойствах и признаках деревьев.
  14. Остовное дерево. Алгоритм Крускала. Описание, реализация, оценка сложности. Доказательство правильности алгоритма.
  15. Остовное дерево. Алгоритм Прима. Описание, реализация, оценка сложности. Доказательство правильности алгоритма. Аналогия между алгоритмом Дейкстры и алгоритмом Прима.
  16. Топологическая сортировка. Постановка задачи, описание алгоритма, реализация, оценка сложности. Примеры задач.
  17. Динамическое программирование. Общая идея метода. Примеры задач.
  18. Динамическое программирование на ориентированном графе без циклов. Задача о поиске самого длинного пути. Задача о вычислении количества путей.
  19. Динамическое программирование. Задача о поиске наибольшей возрастающей подпоследовательности. Задача о поиске общей подстроки.
  20. Динамическое программирование. Задача о количестве разбиений числа на слагаемые. Задача о количестве способов получения заданной подстроки из заданной строки.
  21. Динамическое программирование в игровых задачах.
  22. Комбинаторика. Генерация всех перестановок, сочетаний, разбиений числа на слагаемые, правильных скобочных последовательностей.
  23. Комбинаторика. Генерация объекта по его номеру, вычисление номера по объекту.
  24. Переход от рекурсивной функции с параметром к динамическому программированию («Ленивые вычисления»).
  25. Неразрешимость проблемы останова алгоритма.