42
Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Основы организации данных и алгоритмизация (2012) Лекция 1. Алгоритмы и их свойства Штанюк А.А. 9 декабря 2012 г.

Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Основы организации данных и алгоритмизация (2012)Лекция 1. Алгоритмы и их свойства

Штанюк А.А.

9 декабря 2012 г.

Page 2: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

1 Введение2 Понятие алгоритма3 Способы записи4 Классы алгоритмов

5 Классификация алгоритмов6 Вопросы для самоконтроля7 Глоссарий8 Библиографический список

Page 3: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

1 Введение2 Понятие алгоритма3 Способы записи4 Классы алгоритмов

5 Классификация алгоритмов6 Вопросы для самоконтроля7 Глоссарий8 Библиографический список

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 3 / 42

Page 4: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Введение

ПРОГРАММА

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

Возникают следующие вопросы:

1 Что такое алгоритм?

2 Как организовать данные в памяти ЭВМ?

3 Из каких составных элементов строится программа?

4 Как доказать правильность работы программы?

5 Как оценить эффективность алгоритма?

6 Как правильно выбрать алгоритм для решения поставленной задачи?

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 4 / 42

Page 5: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

1 Введение2 Понятие алгоритма3 Способы записи4 Классы алгоритмов

5 Классификация алгоритмов6 Вопросы для самоконтроля7 Глоссарий8 Библиографический список

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 5 / 42

Page 6: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Понятие алгоритма

Определение алгоритма

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

Слово алгоритм арабского происхождения исвязано с именем математика и астрономаАбу Абдулла Абу Джафар Мухамад ибн Мусаал-Хорезми, который в 825 г. н.э. описал при-думанную в Индии позиционную десятичнуюсистему исчисления.

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 6 / 42

Page 7: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Свойства алгоритмов

Основные свойства алгоритма:

1 Дискретность. Процесс решения протекает в виде последовательностиотдельных действий, следующих друг за другом.

2 Элементарность действий. Каждое действие является настолькопростым, что оно не допускает возможности неоднозначноготолкования.

3 Определенность. Каждое действие определено и после выполнениякаждого действия однозначно определяется, какое действие будетвыполнено следующим.

4 Связанность. На каждом следующем шаге используются результатыпредыдущих.

5 Конечность. Алгоритм заканчивает работу после конечного числашагов.

6 Результативность. В момент прекращения работы алгоритмаизвестно, что является результатом.

7 Массовость. Алгоритм описывает некоторое множество процессов,применимых при различных входных данных.

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 7 / 42

Page 8: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Понятие алгоритма

Алгоритм считается правильным, если при любых допустимых данных онзаканчивает работу и выдает результат, удовлетворяющий требованиямзадачи.

Алгоритм однозначен, если при применении к одним и тем же входнымданным он дает один и тот же результат.

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

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 8 / 42

Page 9: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Алгоритмизация

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

Для составления алгоритмов нужны творческие способности, знание тео-рии и способов записи алгоритма. Для исполнения алгоритма необходимонеукоснительно следовать каждому шагу.

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 9 / 42

Page 10: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Теоретическое определение алгоритма

Определение А.Н. Колмогорова:

Алгоритмом принято называть систему вычислений, которая длянекоторого класса математических задач из записи А «условий» задачипозволяет при помощи однозначно определенной последовательностиопераций, совершаемых «механически», без вмешательства творческихспособностей человека, получить запись В «решения» задачи.

Таким образом, алгоритм - это процедура, которая:

1 Применяется к строго определенным исходным данным А.

2 Представляется в виде последовательности простых шагов; каждыйшаг состоит в непосредственной обработке возникшего к этому шагусостояния S в состояние S∗ = Ω (S).

3 Преобразование S в S∗ производится однозначно заданным способом.

4 Процесс переработки A продолжается до тех пор, пока либо непроизойдет безрезультатная остановка, либо не появится сигнал ополучении решения В. При этом не исключается возможностьнепрекращающегося процесса переработки.

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 10 / 42

Page 11: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Теоретическое определение алгоритма

A0 = AA1 = Ω(A0)A2 = Ω(A1). . .An = Ω(An−1). . .B = Ak

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

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 11 / 42

Page 12: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

1 Введение2 Понятие алгоритма3 Способы записи4 Классы алгоритмов

5 Классификация алгоритмов6 Вопросы для самоконтроля7 Глоссарий8 Библиографический список

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 12 / 42

Page 13: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Способы записи алгоритма

Словесный (естественный язык, ЕЯ)

Ограниченный естественный язык (ОЕЯ)

Схематический (графический)

Псевдоязык (в том числе языки программирования)

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 13 / 42

Page 14: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Использование естественного языка

Наиболее простой способ - ЕЯ (естественный язык)

Пример алгоритма для приготовления кипятка

1 взять чайник

2 открыть крышку

3 если есть вода, перейти к шагу 5

4 налить воды

5 поставить на огонь

6 дождаться струи пара

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 14 / 42

Page 15: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Использование естественного языка

Достоинства:

1 Понятен всем носителям языка

2 Не требует специального синтаксиса

3 Легко поддаётся редактированию

Недостатки:

1 Неоднозначен (некоторые слова и выражения могут толковатьсяпо-разному)

2 Трудно изучаем для иностранцев, не владеющих языком

3 Несёт в себе избыточность в плане количества информации

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 15 / 42

Page 16: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Использование ограниченного естественного языка

Мы можем устранить неоднозначность, оставив только однозначныеслова.

Пример

1 Посмотреть налево

2 Посмотреть направо

3 Перейти дорогу

Каждое слово может быть командой или параметром. В примере словаПерейти, Посмотреть относятся к командам, а остальные - к параметрам.

Хороший пример командного языка: армейский. В условиях боевыхдействий нет времени задумываться о смысле заданий.

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 16 / 42

Page 17: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Использование схем и диаграмм

Схемы, рисунки и диаграммы часто бывают более наглядны, но могуттребовать и пояснений.

initializemodel

expert system

identifycandidatemodels

evaluatecandidatemodels

updatemodel

is bestcandidatebetter?

stop

yes

no

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 17 / 42

Page 18: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Использование схем и диаграмм

В данной схеме сочетается языки блок-схем (flowchart) и французкий.

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 18 / 42

Page 19: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Использование схем и диаграмм

Элементы блок-схем строятся (согласно ГОСТ 19.701-90) из следующихэлементов:

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 19 / 42

Page 20: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Использование схем и диаграмм

Синтаксические диаграммы:

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 20 / 42

Page 21: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Использование псевдоязыка

Псевдоязык очень напоминает алгоритмический язык программирования,но использует обобщённые для многих языков конструкции

Алгоритм Евклида1: procedure Euclid(a, b) . НОД а и b2: r ← a mod b3: while r 6= 0 do . ответ получен, если r равно 04: a← b5: b← r6: r ← a mod b7: end while8: return b . НОД - b9: end procedure

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 21 / 42

Page 22: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Использование псевдоязыка

Блок IF1: if quality ≥ 9 then2: a← perfect3: else if quality ≥ 7 then4: a← good5: else if quality ≥ 5 then6: a← medium7: else if quality ≥ 3 then8: a← bad9: else

10: a← unusable11: end if

Блок WHILE1: sum← 02: i← 13: while i ≤ n do4: sum← sum+ i5: i← i+ 16: end while

Блок REPEAT1: sum← 02: i← 13: repeat4: sum← sum+ i5: i← i+ 16: until i > n

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 22 / 42

Page 23: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Использование псевдоязыка

Блок FOR1: sum← 02: for i← 1, n do3: sum← sum+ i4: end for

Пример:

Небольшой псевдокод...1: s← 02: p← 03: for i← 1, 10 do4: s← s+ i5: p← p+ s6: end for

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 23 / 42

Page 24: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

1 Введение2 Понятие алгоритма3 Способы записи4 Классы алгоритмов

5 Классификация алгоритмов6 Вопросы для самоконтроля7 Глоссарий8 Библиографический список

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 24 / 42

Page 25: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Схема определения алгоритма на ЭВМ

1 Всякий алгоритм применяется к исходным данным и выдаетрезультирующие данные. В ходе работы алгоритма появляютсяпромежуточные данные. Для описания данных фиксируется наборэлементарных символов (алфавит данных) и даются правилапостроения сложных данных из простых. Примеры простых данных:целые и действительные числа, логические переменные, символьныепеременные. Примеры сложных данных: массивы, строки, структуры.

2 Данные для своего размещения требуют памяти. В ЭВМ памятьсостоит из ячеек. Единицы объема данных и памяти согласованы, и вприкладных алгоритмических моделях объем данных можно измерятьчислом ячеек, в которых данные размещены.

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

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 25 / 42

Page 26: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Классы алгоритмов

Можно выделить три крупных класса алгоритмов: вычислительные,информационные и управляющие.

Вычислительные алгоритмы , как правило, работают с простыми видамиданных (числа, матрицы), но сам процесс вычисления может бытьдолгим и сложным.

Информационные алгоритмы представляют собой набор сравнительнонебольших процедур (например, поиск числа, слова), но работающихс большими объемами информации (базы данных). Для того чтобыони работали эффективно, важно иметь хорошую организациюданных.

Управляющие алгоритмы характерны тем, что данные к ним поступаютот внешних процессов, которыми они управляют. Результатом работыэтих алгоритмов являются различные управляющие воздействия.

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 26 / 42

Page 27: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

1 Введение2 Понятие алгоритма3 Способы записи4 Классы алгоритмов

5 Классификация алгоритмов6 Вопросы для самоконтроля7 Глоссарий8 Библиографический список

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 27 / 42

Page 28: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Классификация алгоритмов

Алгоримты можно классифицировать по множеству признаков:

I по функциональному назначениюI по временной и пространственной сложностиI по сложности реализацииI по эффективности исполненияI по точности при решении приближённых задачI и др.

Рассмотрим некоторые категории, к которым можно отнести известныевычислительные алгоритмы

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 28 / 42

Page 29: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Классификация алгоритмов

I Общие комбинаторные алгоритмы - связаны с генерациейкомбинаций элементов

I Алгоритмы на графах - всевозможные операции с использованиемструктуры данных граф

I Алгоритмы на строках - связаны с решением задач, относящихся кстрокам и символам

I Алгоритмы сортировки - упорядочивание элементовI Алгоритмы сжатия данных - преобразование данных с устранением

избыточности информации

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 29 / 42

Page 30: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Классификация алгоритмов

I Вычислительная геометрия - всевозможные геометрические задачиI Компьютерная графика - рисование геометрических фигур на экране

ЭВМI Криптографические алгоритмы - шифрование/дешифрование данныхI Цифровая обработка сигналов - преобразование данных методами

ЦОСI Алгоритмы операционных систем - выделение и освобождение памяти

в операционной системе, планирование процессов, устранениевзаимоблокировок и др.

I Сетевые алгоритмы - расчёт маршрутов, потоков в сетяхI Генетические алгоритмы - использование генетического механизма

для обработки компьютерных данных

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 30 / 42

Page 31: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Классификация алгоритмов

I Алгоритмы нейронных сетей - использование принципов обработкиинформацией мозгом в ЭВМ

I Вычислительная алгебра - решение широкого спектра алгебраическихзадач

I Теоретико-числовые алгоритмы - операции над числамиI Численные алгоритмы - решение задач приближёнными методамиI Алгоритмы оптимизации - нахождение оптимальных значений

параметров системI Алгоритмы синтаксического и грамматического разбора -

используются для обработки текстов на формальных и естественныхязыках

I Другие...

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 31 / 42

Page 32: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

1 Введение2 Понятие алгоритма3 Способы записи4 Классы алгоритмов

5 Классификация алгоритмов6 Вопросы для самоконтроля7 Глоссарий8 Библиографический список

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 32 / 42

Page 33: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Вопросы для самоконтроля

Какую роль играет понятие алгоритма в программировании?Подсказка

Что такое алгоритм? Откуда произошло понятие алгоритма?Подсказка

Что мы относим к свойствам алгоритма? Подсказка

Какие свойства алгоритма относятся к важнейшим? Подсказка

Что такое исполнитель алгоритма? Подсказка

Какой алгоритм считается правильным?Однозначным? Подсказка

Что такое алгоритмизация? Подсказка

Какие способности нужны разработчику алгоритма? Исполнителю?Подсказка

Чем отличается теоретическое определение алгоритма отобщепринятого? Подсказка

До каких пор будет выполняться алгоритм? Подсказка

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 33 / 42

Page 34: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Вопросы для самоконтроля

Что такое вычислимая функция? Как она связана с алгоритмом?Подсказка

Перечислите способы записи алгоритма. Подсказка

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

Перечислите достоинства и недостатки ЕЯ для записи алгоритмов.Подсказка

Как от ЕЯ переходят к ОЕЯ? Подсказка

В чём преимущества графических схем и рисунков? Подсказка

Из каких элементов строятся блок-схемы? Подсказка

Что такое псевдоязык? Подсказка

В чём заключается схема определения алгоритма на ЭВМ? Подсказка

Как согласуются между собой данные и память? Машинные командыи шаги алгоритма? Подсказка

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 34 / 42

Page 35: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Вопросы для самоконтроля

Перечислите три крупных класса алгоритмов. В чём их особенности?Подсказка

Как можно классифицировать алгоритмы? Подсказка

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 35 / 42

Page 36: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

1 Введение2 Понятие алгоритма3 Способы записи4 Классы алгоритмов

5 Классификация алгоритмов6 Вопросы для самоконтроля7 Глоссарий8 Библиографический список

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 36 / 42

Page 37: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Глоссарий I

Алгоритм конечная последовательность дискретных шагов, приводящая крешению задачи. 6

Алгоритмизация процесс составления алгоритмов для решенияпоставленных задач. 9

Блок-схема графическое представление алгоритма. 13, 17, 19

ЕЯ естественный язык. Язык, используемый для общения в самомшироком смысле. 13

ОЕЯ ограниченный естественный язык. Язык, из которого исключенынеоднозначеные слова. 13

Псевдоязык язык, используемый для записи алгоритмов в форме,близкой к языкам программирования. 13

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 37 / 42

Page 38: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

1 Введение2 Понятие алгоритма3 Способы записи4 Классы алгоритмов

5 Классификация алгоритмов6 Вопросы для самоконтроля7 Глоссарий8 Библиографический список

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 38 / 42

Page 39: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Библиографический список I

Кормен Т.,Лейзерсон Ч., Ривест Р.Алгоритмы: построение и анализМЦНМО, Москва, 2000

Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы: построение ианализ.2-е изд. — М.: «Вильямс», 2006

Википедияhttp://ru.wikipedia.org/wiki/Алгоритм

Википедияhttp://ru.wikipedia.org/wiki/Списокалгоритмов

Серджвик Р.Фундаментальные алгоритмы на С++. Части 1-4Diasoft,2001

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 39 / 42

Page 40: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Библиографический список II

Седжвик Р.Фундаментальные алгоритмы на C. Анализ/Структурыданных/Сортировка/ПоискСПб.: ДиаСофтЮП, 2003

Седжвик Р.Фундаментальные алгоритмы на C. Алгоритмы на графахСПб.: ДиаСофтЮП, 2003

Ахо А., Хопкрофт Д., Ульман Д. Структуры данных и алгоритмы.Издательский дом «Вильямс», 2000

Кнут Д.Искусство программирования, том 1. Основные алгоритмы3-е изд. — М.: «Вильямс», 2006

Кнут Д.Искусство программирования, том 2. Получисленные методы3-е изд. — М.: «Вильямс», 2007

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 40 / 42

Page 41: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Библиографический список III

Кнут Д.Искусство программирования, том 3. Сортировка и поиск2-е изд. — М.: «Вильямс», 2007

Кнут Д.Искусство программирования, том 4, выпуск 3. Генерация всех сочетанийи разбиенийМ.: «Вильямс», 2007

Кнут Д.Искусство программирования, том 4, выпуск 4. Генерация всех деревьев.История комбинаторной генерацииМ.: «Вильямс», 2007

Керниган Б., Ритчи Д.Язык программирования СиМ.: Финансы и статистика,

Подбельский В.В., Фомин С.С.Программирование на языке С.М.: Финансы и статистика, 2003

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 41 / 42

Page 42: Лекция1.Алгоритмыиихсвойства ШтанюкА.А. 9декабря2012г.shtanyuk.tk/edu/nniit/alg/01.pdfСодержаниеВведениеПонятие алгоритмаСпособы

Содержание Введение Понятие алгоритма Способы записи Классы алгоритмов Классификация алгоритмов Вопросы Глоссарий Литература

Библиографический список IV

Подбельский В.В.Практикум по программированию на языке Си.М.: Финансы и статистика, 2004

Шилдт Г.Полный справочник по С.М.: Вильямс, 2002.

Дейтел Х., Дейтел П.Как программировать на С.

Штанюк А.А. Лекция 1. Алгоритмы и их свойства 42 / 42