
- •1. Информатика как единство науки и технологии
- •2. Цели и задачи курса "Информатика"
- •4. Информация, её виды и свойства.
- •5. Различные уровни представления информации.
- •6. Носители данных. Операции с данными.
- •7. Функции, отношения, множества.
- •8. Булева алгебра и логические схемы компьютера. Логические машины.
- •9. Основы логики: Логика высказываний, логические языки, таблица истинности.
- •10. Графы и деревья.
- •11. Обзор и история архитектуры компьютеров.
- •12. Логические элементы компьютера: вентили, триггеры, счетчики, регистры
- •14. Представление числовых данных
- •15. Системы счисления. Правила перевода чисел из одной системы счисления в другую.
- •16. Знаковые представления и представления в дополнительном коде.
- •17. Представление нечисловых данных.
- •18. Организация машины.
- •19. Устройство ввода и вывода
- •20. Устройство памяти компьютера.
- •Характеристики систем иерархической памяти
- •22. Организация основной памяти и операции.
- •23. Виртуальная память.
- •Классификация по
- •Прикладное по
- •Виды Алгоритмов
- •Свойства Алгоритмов
- •27. Концепция и свойства алгоритмов.
- •Общая концепция алгоритма
- •28. Структура данных (типы, массив, строки).
- •Операции над строками
- •Основные типы данных.
- •Определение
- •Необходимость использования типов данных
- •Базовые типы
- •Числовые типы
- •Вещественные типы
- •2.2. Битовые типы
- •Логический тип
- •29. Стратегия реализации алгоритмов.
- •30. Блок схема. Виды Блок схем.
- •Основные элементы схем алгоритма
- •31. Способы представления алгоритмов.
- •32. Алгоритмические структуры.
- •33. Основные вычислительные алгоритмы: машина Тьюринга, легко и трудно решаемые задачи.
- •Устройство машины Тьюринга
- •Описание машины Тьюринга
- •Варианты машины Тьюринга
- •34. Анализ алгоритмов.
- •Анализ трудоёмкости алгоритмов
- •35. Архитектура организации процессора. Типовые структуры операционного блока микропроцессора
- •36. Организация системы адресации и команд
- •39. Основы дискретной математики. Элементы теории множеств. Комбинаторика.
- •Математическая логика.
- •Теория алгоритмов.
- •Теория графов.
- •Алгоритмы.
- •40. Этапы решения задач на эвм.
Описание машины Тьюринга
Конкретная машина Тьюринга задаётся перечислением элементов множества букв алфавита A, множества состояний Q и набором правил, по которым работает машина. Они имеют вид: qiaj→qi1aj1dk (если головка находится в состоянии qi, а в обозреваемой ячейке записана буква aj, то головка переходит в состояние qi1, в ячейку вместо aj записывается aj1, головка делает движение dk, которое имеет три варианта: на ячейку влево (L), на ячейку вправо (R), остаться на месте (N)). Для каждой возможной конфигурации <qi, aj> имеется ровно одно правило. Правил нет только для заключительного состояния, попав в которое машина останавливается. Кроме того, необходимо указать конечное и начальное состояния, начальную конфигурацию на ленте и расположение головки машины.
Варианты машины Тьюринга
Модель машины Тьюринга допускает расширения. Можно рассматривать машины Тьюринга с произвольным числом лент и многомерными лентами с различными ограничениями. Однако все эти машины являются полными по Тьюрингу и моделируются обычной машиной Тьюринга.
34. Анализ алгоритмов.
Модели вычислений. РАМ и РАСП машины, многоленточная машина Тьюринга. Понятия временной и емкостной вычислительной сложности с равномерным и логарифмическим весом. Соотношения между оценками вычислительной сложности алгоритма в различных моделях. Примеры оценки вычислительной сложности конкретных алгоритмов: различные варианты генерации перестановок, выполнения умножения целых чисел, поиска наименьшего и наибольшего элементов в неупорядоченном массиве. Некоторые теоремы о вычислительной сложности рекурсивных алгоритмов.
Алгоритмы на перестановках. Особенности оценки вычислительной сложности при биективных отображениях. Построение эффективных алгоритмов генерации элементарных теоретико-множественных объектов: перестановок, размещений, множеств, сочетаний и мультимножеств.
Комбинаторные методы, используемые при оценки сложности алгоритмов. Различные классы производящих функций и операции над ними. Теория Двенадцатеричного пути комбинаторных оценок различных классов отображений. Производящие функции для различных классов графов. Понятие циклового индекса. Теорема Пойа о перечислении.
Оценки сложности конкретных алгоритмов: дерева поиска, алгоритма Евклида и других.
Введение в теорию NP-полных задач.
Анализ трудоёмкости алгоритмов
Целью анализа трудоёмкости алгоритмов является нахождение оптимального алгоритма для решения данной задачи. В качестве критерия оптимальности алгоритма выбирается трудоемкость алгоритма, понимаемая как количество элементарных операций, которые необходимо выполнить для решения задачи с помощью данного алгоритма. Функцией трудоемкости называется отношение, связывающие входные данные алгоритма с количеством элементарных операций.
Трудоёмкость алгоритмов по-разному зависит от входных данных. Для некоторых алгоритмов трудоемкость зависит только от объема данных, для других алгоритмов — от значений данных, в некоторых случаях порядок поступления данных может влиять на трудоемкость. Трудоёмкость многих алгоритмов может в той или иной мере зависеть от всех перечисленных выше факторов.
Одним из упрощенных видов анализа, используемых на практике, является асимптотический анализ алгоритмов. Целью асимптотического анализа является сравнение затрат времени и других ресурсов различными алгоритмами, предназначенными для решения одной и той же задачи, при больших объемах входных данных. Используемая в асимптотическом анализе оценка функции трудоёмкости, называемая сложностью алгоритма, позволяет определить, как быстро растет трудоёмкость алгоритма с увеличением объема данных. В асимптотическом анализе алгоритмов используются обозначения, принятые в математическом асимптотическом анализе.