Студопедия — Сложность алгоритма(пример -подсчета достаточного количества операций)
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Сложность алгоритма(пример -подсчета достаточного количества операций)






Под сложностью алгоритма понимается количество выполняемых им арифметических операций (сложение, вычитание, умножение, деление). Это определение не учитывает величину чисел участвующих в вычислениях. Ясно, что перемножить два 100-значных числа сложнее чем два однозначных, хотя при этом выполняется лишь одна математическая операция.

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

Вычислительная сложность алгоритма определяется двумя параметрами: T - временная сложность, S пространственная (требование к памяти).

Многие алгоритмы предлагают выбор между объёмом памяти и скоростью. Задачу можно решить быстро, использую большой объём памяти, или медленнее, занимая меньший объём.
Типичным примером в данном случае служит алгоритм поиска кратчайшего пути. Представив кару города в виде сети, можно написать алгоритм для определения кратчайшего расстояния между двумя любыми точками этой сети. Чтобы не вычислять эти расстояния всякий раз, когда они нам нужны, мы можем вывести кратчайшие расстояния между всеми точками и сохранить результаты в таблице. Когда нам понадобится узнать кратчайшее расстояние между двумя заданными точками, мы можем просто взять готовое расстояние из таблицы.
Результат будет получен мгновенно, но это потребует огромного объёма памяти. Карта большого города может содержать десятки тысяч точек. Тогда, описанная выше таблица, должна содержать более 10 млрд. ячеек. Т.е. для того, чтобы повысить быстродействие алгоритма, необходимо использовать дополнительные 10Гб памяти.
Из этой зависимости проистекает идея объёмно-временной сложности. При таком подходе алгоритм оценивается, как с точки зрении скорости выполнения, так и с точки зрения потреблённой памяти

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

Пример:

Алгоритм называется:

Постоянным, если его сложность не зависит от n

Линейным, если его временная сложность O(n)

Полиномиальным, если его временная сложность O(nm), m=const

Экспоненциальным, если O(t f ( N)), где t=const> 1, f(n) - полиномиальная функция от n.

сравнений арифметических операций по трудоемкости.

Лемма: Пусть n Î N, m Î R - некоторое кольцо.

Для вычисления степени достаточно не более 2[log2 n] умножений.

Доказательство: Пусть 2S£ n< 2S+1, s=[log2 n]

Запишем n в двоичной системе счисления:

Теперь вынесем степени 1, m, m2, …, . Всего S операций. Затем перемножаем степени , их не более S. В итоге получаем, что для вычисления нужно произвести .







Дата добавления: 2014-12-06; просмотров: 1489. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Педагогическая структура процесса социализации Характеризуя социализацию как педагогический процессе, следует рассмотреть ее основные компоненты: цель, содержание, средства, функции субъекта и объекта...

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Интуитивное мышление Мышление — это пси­хический процесс, обеспечивающий познание сущности предме­тов и явлений и самого субъекта...

Объект, субъект, предмет, цели и задачи управления персоналом Социальная система организации делится на две основные подсистемы: управляющую и управляемую...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия