Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КР-Введение в теорию алгоритмов-ПИБ-Гомбоев-201...doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
407 Кб
Скачать
☆

Тема 2. Основные конструкции программирования

Алфавит, синтаксис и семантика языка программирования. Средства определения синтаксиса: расширенные формулы Бэкуса-Наура (РБНФ), синтаксические диаграммы. Классификация языков программирования по уровню абстракции. Обзор основных элементов языка программирования высокого уровня.

При изучении данной темы следует обратить внимание на источники: [1], [2], [3].

Контрольные вопросы для самопроверки:

  1. В чем состоит расширенный формализм Бэкуса-Наура (РБНФ)?

  2. Синтаксис и семантика языка программирования Компонетный Паскаль.

  3. Приведите классификацию языков программирования по уровню абстракции.

  4. Перечислите основные элементы языка программирования высокого уровня.

Тема 3. Теория алгоритмов

Интуитивное определение алгоритма. Основные свойства алгоритмов. Понятие исполнителя алгоритма. Основные методы разработки алгоритмов. Формальное определение алгоритма. Машина Тьюринга. Операции над машинами Тьюринга. Тезис Тьюринга. Нормальные алгорифмы Маркова. Принцип нормализации Маркова. Понятия самоприменимости алгоритма и алгоритмической неразрешимости.

При изучении данной темы следует обратить внимание на источники: [1], [2], [3].

Контрольные вопросы для самопроверки:

  1. Дайте формальное определение понятию алгоритма. Как работает машина Тьюринга?

  2. Какие операции допустимы над машиной Тьюринга?

  3. Определите нормальный алгоритм Маркова.

  4. В чем состоит принцип нормализации Маркова?

  5. Поясните понятие самоприменимости и алгоритмической неразрешимости.

Тема 4. Рекурсия

Рекурсивные алгоритмы. Понятие рекурсивного алгоритма. Виды рекурсии. Структура рекурсивного алгоритма. Примеры рекурсивных алгоритмов. Реализация перебора с возвратом с помощью рекурсии. Реализация механизма рекурсии. Сравнение рекурсии и итерации. Рекурсивные данные. Бинарные деревья. Обходы бинарного дерева. Основные алгоритмы обработки бинарных деревьев (уничтожение дерева, вставки информации в дерево, удаление вершины из дерева, сравнения двух деревьев и др.).

При изучении данной темы следует обратить внимание на источники: [1], [2], [3].

Контрольные вопросы для самопроверки:

  1. Дайте определение понятию рекурсии.

  2. Приведите примеры рекурсивного определения.

  3. Поясните реализацию перебора с возвратом с помощью рекурсии.

  4. Сравните рекурсию с итерацией.

  5. Поясните алгоритм обхода бинарного дерева.

  6. Как реализуются операции по обработке бинарных деревьев?

Тема 5. Структуры данных

Понятие абстрактного типа данных. Классификация структур данных. Последовательные списки: стек, очередь, дек. Связные списки: однонаправленный список, двунаправленный список, циклический список. Графы. Методы реализации графов: матрица смежности, матрица инцидентности, списки смежных вершин, список ребер.

При изучении данной темы следует обратить внимание на источники: [1], [2], [3].

Контрольные вопросы для самопроверки:

  1. Определите абстрактный тип данных.

  2. Приведите классификацию фундаментальных структур данных.

  3. Дайте определение типу записи.

  4. Как определяется тип список?

  5. Поясните редактирование списка.

  6. Как задать циклический список?

  7. Приведите пример задания двунаправленного списка.

  8. Приведите примеры стека, очереди, дека.

  9. Что такое матрица смежности?

  10. Что такое матрица инцидентности?

  11. Приведите примеры списков смежных вершин, список ребер графа.

  12. Какие знаете методы реализации графов?