Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Этапы построения алгоритма

Структуры данных

Конспект лекций

Лекция 16

Теория сложности алгоритмов. Библиотека алгоритмов

 

Научный редактор доц., д-р техн. наук Л.Г. Доросинский

 

 

Екатеринбург

 

Содержание

1. Этапы построения алгоритма. 4

1.1 Постановка задачи. 4

1.2. Построение алгоритма. 5

1.3. Проверка правильности алгоритма. 5

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

1.5. Программная реализация алгоритма. 8

1.5. Основные правила анализа алгоритмов. 9

1.6. Анализ базовых алгоритмических конструкций. 10

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

2.2.Возникновение теории алгоритмов. 12

2.3. Тезис Чёрча — Тьюринга и алгоритмически неразрешимые массовые проблемы 12

3. Современное состояние теории алгоритмов. 14

3.1. Анализ трудоёмкости алгоритмов. 14

3.2. Классы сложности. 16

Дополнительная литература. 18

Любая человеческая деятельность, направленная на получение, обработку, накопление информации непосредственно связана с реализацией (зачастую неосознанно) соответствующего алгоритма и требует рассмотрения общих стадий построения алгоритма решения прикладных задач. На основе работ А. Ахо, C. Гудмана], Д. Кнута, А.Р. Есаяна, Т. Кормена, Ч. Лейзерсона, Р. Ривеста, А.Г. Кушниренко, Г.В. Лебедева, М.П. Лапчика, и других авторов в процессе полного построения алгоритма можно выделить следующие основные этапы:

1) постановка задачи;

2) разработка модели;

3) построение алгоритма;

4) проверка правильности алгоритма;

5) анализ алгоритма;

6) программная реализация алгоритма.

Каждый из перечисленных шагов в реальных условиях может присутствовать самостоятельно или входить в состав соседних с ним этапов в зависимости от конкретной задачи и навыков пользователя. Рассмотрим вышеперечисленные этапы и определим назначение каждого из них.

Наличие точной формулировки задачи является одной из необходимых составляющих ее правильного понимания и решения. В случае неточной, непонятной формулировки затрудняется понимание смысла задачи, становится невозможным выделение системы входных данных и необходимого результата. Стадия постановки задачи в некоторых случаях (когда формулировка не разработана кем-то другим) требует весомых творческих затрат, что подтверждается известным математическим афоризмом: «Поставить задачу труднее, чем решить ее». Можно предложить определенный круг вопросов, помогающих более точно понять смысл задачи, уточнить ее формулировку:

- Все ли термины, используемые в предварительной формулировке, понятны и адекватно используются?

- Является ли система входных данных полной?

- Что требуется найти?

- Какие существуют подходы к определению решения данной задачи?

- Какие сделаны допущения в предварительной формулировке и насколько они обоснованы?

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




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 1949; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.