Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Met_TA1_new.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.36 Mб
Скачать

0

М инистерство образования и науки России

Севастопольский национальный технический

университет

«МАТЕМАТИЧЕСКИЙ АНАЛИЗ АЛГОРИТМОВ»

методические указания

к лабораторным работам по дисциплине

«Теория алгоритмов»

для студентов дневного и заочного отделения по направлению 09.03.02

«Информационные системы и технологи»

Севастополь

2014

УДК 519.2

МАТЕМАТИЧЕСКИЙ АНАЛИЗ АЛГОРИТМОВ: метод. указания к лабораторным занятиям по дисциплине «Теория алгоритмов» для студентов дневного и заочного отделения по направлению 09.03.02 «Информационные системы и технологии» /

Методические указания составлены в соответствии с требованиями программы дисциплины «Теория алгоритмов» для студентов направления 09.03.02 и утверждены на заседании кафедры Информационных систем, протокол № ___ от ____________ 2014 года.

Допущено учебно-методическим центром СевНТУ в качестве методических указаний.

Рецензент:

Содержание

Стр.

1

ЦЕЛЬ РАБОТЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

2

ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ . . . . . . . . . . . . . . . . . . . . .

4

2.1

ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ . . . . . . . . . . . . . . . . . . . .

4

2.2

СИСТЕМА ОБОЗНАЧЕНИЙ. . . . . . . . . . . . . . . . . . . . . .

6

2.3

МЕТОД ИНТЕРВАЛЬНОГО АНАЛИЗА. . . . . . . . . . . .

7

2.4

МЕРА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

3

ХОД РАБОТЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

4

ВАРИАНТЫ ЗАДАНИЙ . . . . . . . . . . . . . . . . . . . . . . . . .

9

5

ПРИМЕР ПРОГРАММЫ. . . . . . . . . . . . . . . . . . . . . . . .

11

6

СОДЕРЖАНИЕ ОТЧЁТА . . . . . . . . . . . . . . . . . . . . . . . .

12

7

КОНТРОЛЬНЫЕ ВОПРОСЫ. . . . . . . . . . . . . . . . . . . . .

12

8

БИБЛИОГРАФИЧЕСКИЙ СПИСОК. . . . . . . . . . . . . . .

12

1 Цель работы

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

2 Теоретический раздел

2.1 Основные определения асимптотического анализа алгоритмов

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

Под трудоёмкостью алгоритма для данного конкретного входа – Fa(N), будем понимать количество «элементарных» операций, совершаемых алгоритмом для решения конкретной проблемы в данной формальной системе. При анализе поведения функции трудоемкости алгоритма часто используют принятые в математике асимптотические обозначения, позволяющие показать скорость роста функции, маскируя при этом конкретные коэффициенты.

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

В асимптотическом анализе приняты следующие обозначения:

1) Оценка  (тетта)

Пусть f(n) и g(n) – положительные функции положительного аргумента, n ≥ 1 (количество объектов на входе и количество операций – положительные числа), тогда:f(n) =  (g(n)), если существуют положительные с1, с2, n0, такие, что: с1 * g(n)  f(n)  c2 * g(n), при n > n0

Рисунок 2.1 – Оценка

Обычно говорят, что при этом функция g(n) является асимптотически точной оценкой функции f(n), т.к. по определению функция f(n) не отличается от функции g(n) с точностью до постоянного множителя.

Отметим, что из f(n) = (g(n)) следует, что g(n) = (f(n)).

Примеры:

1) f(n)=4n2+nlnN+174 – f(n)= (n2);

2) f(n)=(1) – запись означает, что f(n) или равна константе, не равной нулю, или f(n) ограничена константой на : f(n) = 7+1/n = (1).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]