Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Анализ сложности алгоритма

Автор:   •  Март 16, 2024  •  Контрольная работа  •  451 Слов (2 Страниц)  •  115 Просмотры

Страница 1 из 2

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ[pic 1]

федеральное государственное бюджетное образовательное учреждениевысшего образования

«Тольяттинский государственный университет»

Институт математики, физики и информационных технологий

(наименование института полностью)

09.03.03 Прикладная информатика

(код и наименование направления подготовки / специальности)

Разработка программного обеспечения

(направленность (профиль) / специализация)

ПРАКТИЧЕСКОЕ ЗАДАНИЕ №__1_

по учебному курсу «Математическое моделирвоание программного обеспечения»

(наименование учебного курса)

Вариант ____ (при наличии)

Обучающегося

Шумкова Н.С.

(И.О. Фамилия)

Группа

ПИбд-1906в

Преподаватель

Н.В. Хрипунов

(И.О. Фамилия)

Тольятти 2023

Анализ сложности алгоритма

Модуль 1. Математические модели проектирования программного обеспечения

Лекция 1.1. Математические модели алгоритмов программного обеспечения

Задание

Цель работы: получить практические навыки анализа сложности алгоритмов.

1. Задание. Провести анализ и оценку временной сложности алгоритма быстрого возведения в степень (рис. 1.6).

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

[pic 2]

Рис. 1. Блок-схема алгоритма

Наибольшее влияние на временную сложность алгоритма оказывают циклические конструкции. Группа блоков (6)–(10) алгоритма представляет собой цикл с постусловием. Тело цикла (блоки (6)–(9)) имеет временную сложность порядка О(1). Кроме этого, в цикле выполняется проверка условия завершения цикла (блок (10)), которая также имеет время выполнения порядка О(1).

Определим количество повторений тела цикла в зависимости от n. Табл. 1.2 содержит динамику изменения параметра цикла k в зависимости от номера итерации и параметра n.

Анализируя данные, приведенные в табл. 1.2, можно отметить, что на 1-й итерации k1 = n div 20 = n, на этой и каждой последующей итерации k уменьшается в два раза по сравнению с предыдущем значением до тех пор, пока k не станет равно 1 (пусть это будет итерация m+1).

Таблица 1.2

Изменение параметра цикла

№ итерации

Значение параметра цикла k

n=0

n=1

n=2

n=3

n=4

...

n=7

n=8

...

n=15

n=16

...

n=31

n=32

...

1

0

1

2

3

4

7

8

15

16

31

32

2

0

1

1

2

3

4

7

8

15

16

3

0

0

1

1

2

3

4

7

8

4

0

0

1

1

2

3

4

5

0

0

1

1

2

6

0

0

1

7

0

...

Скачать:   txt (7.1 Kb)   pdf (687.3 Kb)   docx (377.4 Kb)  
Продолжить читать еще 1 страницу »
Доступно только на Essays.club