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

Открыт
Заказ
6362873
Раздел
Математические дисциплины
Тип работы
Антиплагиат
Не указан
Срок сдачи
17 Ноя в 10:00
Цена
300 ₽
Блокировка
5 дней
Размещен
15 Ноя в 18:32
Просмотров
20
Описание работы
Практическое задание 1

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

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

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

Задание

Провести анализ и оценку временной сложности заданного алгоритма. Варианты заданий представлены в таблице (выбор варианта задания осуществляется по первой букве фамилии). Блок схемы алгоритмов – на рис. 1.1–1.6. В блок-схемах символ div обозначает операцию целочисленного деления, mod – остаток от целочисленного деления.

Таблица 1.1

Варианты заданий

Ч, Ш, Щ, Э, Ю, Я

6

Алгоритм вычисления значения многочлена по схеме Горнера (рис. 1.4)

Рис. 1.1. Тривиальный алгоритм возведения x в степень n

Рис. 1.2. Рекурсивный алгоритм возведения x в степень n

а)                                                    б)

Рис. 1.3. Алгоритмы быстрого возведения x в степень n

Рис.1.4. Алгоритм вычисления значения многочлена степени n, заданного массивом своих коэффициентов A = {A[0], A[1], …, A[n]} при некотором значении переменной x по схеме Горнера

Рис. 1.5. Алгоритм вычисления значения многочлена степени n, заданного массивом своих коэффициентов A = {A[0], A[1], …, A[n]} при некотором значении переменной x

Рекомендации по выполнению задания

Практическое определение времени выполнения основано на следующих правилах. 

1.    За функцию берется количество операций, возрастающее быстрее всего.

2.    Константы не учитываются, в том числе и основания логарифма. 

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

4.    Время выполнения операторов присваивания обычно имеет порядок О(1).

5.    Время выполнения операторов ввода – вывода обычно имеет порядок О(1).

6.    Время выполнения последовательности операторов определяется суммированием.

7.    Время выполнения цикла является суммой времени всех исполняемых итераций цикла. Время выполнения каждого цикла, если в программе их несколько, должно определяться отдельно.

8.     Для программ, содержащих несколько процедур или функций, общее время выполнения программы равно сумме времен выполнения подпрограмм.

9.    В случае когда имеют место рекурсивные процедуры или функции, необходимо с каждой рекурсивной процедурой (функцией) связать временною функцию Т(n), где n определяет объем ее аргументов, и получить рекуррентное соотношение для T(n), представляющее собой уравнение (или неравенство) для Т(п), где участвуют значения T(k) для различных значений k < n. Решение таких рекуррентных соотношений состоит в последовательном раскрытии выражений Т(к) в правой части уравнения путем подстановки в исходное соотношение k вместо n до тех пор, пока не получится формула, у которой в правой части отсутствует Т.  

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.96
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир