Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 4 - Алгоритмическое решение задач- анали....doc
Скачиваний:
5
Добавлен:
10.07.2019
Размер:
92.16 Кб
Скачать

Алгоритмическое решение задач, анализ алгоритмической сложности

Стратегии решения задач. Алгоритмы и поиск решений. Концепции и

свойства алгоритмов. Стратегии реализации алгоритмов. Структуры данных:

примитивные типы, массивы, строки. Блок-схемы как графическая

реализация алгоритмов. Различные виды блок-схем. Реализация алгоритмов.

Основные вычислительные алгоритмы: конечные автоматы; машины тью-

ринга; легко и трудно разрешимые задачи. Анализ алгоритмов: стандартные

классы сложности; затраты по объему памяти и времени.

Раздел 4 Алгоритмическое решение задач, анализ алгоритмической сложности

Тема 1 – Алгоритмы и поиск решений

План:

Стратегия решения задач.

Концепция и свойства алгоритмов.

Стратегия реализации алгоритмов.

Структуры данных: примитивные типы, строки, массивы.

Тема 2 Реализация алгоритмов

План:

Блок-схемы как графическая реализация алгоритмов.

Основные вычислительные алгоритмы.

Анализ алгоритмов.

Стратегия решения задач

Для составления программы, предназначенной для решения на ЭВМ какой-либо задачи, требуется составление алгоритма ее решения — точного предписания, которое определяет процесс, ведущий от исходных данных к требуемому конечному результату.

Понятие алгоритма – одно из фундаментальных понятий информатики. К реализации определенных алгоритмов сводятся процессы управления в различных системах, что делает понятие алгоритма близким к кибернетике. Само слово «алгоритм» происходит от algorithmi – латинской формы написания имени великого математика IX века аль-Хорезми, который сформулировал правила выполнения арифметических действий.

Алгоритм - это точное предписание исполнителю совершить последовательность действий, направленных на достижение поставленной цели. Алгоритм, составленный для некоторого исполнителя, можно представить различными способами: с помощью графического или словесного описания, в виде таблицы, последовательностью формул, записанным на алгоритмическом языке. Графический способ имеет ряд преимуществ, благодаря наглядности.

Алгоритмами, например, являются правила сложения, умножения, решения алгебраических уравнений, умножения матриц и т.п. Слово алгоритм происходит от algoritmi, являющегося латинской транслитерацией арабского имени хорезмийского математика IX века аль-Хорезми. Благодаря латинскому переводу трактата аль-Хорезми европейцы в XII веке познакомились с позиционной системой счисления, и в средневековой Европе алгоритмом называлась десятичная позиционная система счисления и правила счета в ней.

Алгоритм - это точная инструкция, а инструкции встречаются практически во всех областях человеческой деятельности. Возможны алгоритмы проведения физического эксперимента, сборки шкафа или телевизора, обработки детали. Однако не всякая инструкция есть алгоритм.

Инструкция становится алгоритмом только тогда, когда она удовлетворяет определенным требованиям. Эти требования частично сформулированы в определении, хотя упомянутые в определении понятия однозначности и элементарности сами нуждаются в уточнении.

Алгоритм однозначен, если при применении к одним и тем же данным он даст один и тот же результат. Но как по описанию алгоритма определить, однозначен он или нет. В каком случае шаги считаются элементарными.

Прежде всего, определим понятие блок-схемы. Блок-схема – это ориентированный граф, указывающий порядок исполнения команд алгоритма. Вершины такого графа могут быть одного из трех типов:

  • «функциональная» (а) вершина (имеющая один вход и один выход);

  • «предикатная » (б) вершина, имеющая один вход и два выхода;

  • «объединяющая» (в) вершина (вершина слияния), обеспечивающая передачу управления от одного из двух входов к выходу (рис.4.1).

а) б) в)

Рисунок 4.1.- три типа вершин графа