Студопедия

КАТЕГОРИИ:


Загрузка...

Архитектура-(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)

Асимптотические нотации. Асимптотические обозначения

Скорость роста алгоритма. Временная сложность алгоритма

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

Пример: 100 входных данных, .

 

 

 

Функции имеют недостаток:

· являются достаточно волнистыми;

· требуют слишком много информации для точного представления.

 

 

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

Пример: .

Функция , определенная как наибольшее количество элементарных действий при решении задачи размером n с помощью алгоритма A называется сложностью (временной сложностью алгоритма).

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

Функция называется оценкой сверху, если существует положительное число C и некоторое пороговое , для которых при . Обозначается: .

 

 

 

 

Функция называется оценкой снизу, если существует положительное число C и некоторое пороговое , для которых при .

Функция называется оценкой , если существуют положительные конечные константы и , для которых . Обозначается:

 

 

Если , то является асимптотически точной оценкой для .

 

при .

Говорят, что сумма имеет асимптотику .

- число способов выбора k-элементного подмножества из n-элементного множества.

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

: асимптоты и при .

 

 

Скорость роста основных функций, определяющих оценку F(n)

Каждая операция выполняется за 1 нс.

 

n/f(n) lg(n) n n*lg(n) n^2 2^n n!
0.003 мкс 0.01 мкс 0.033 мкс 0.1 мкс 1 мкс 3.63 мкс
0.004 мкс 0.02 мкс 0.086 мкс 0.4 мкс 1 мс 77.1 лет
0.005 мкс 0.03 мкс 0.147 мкс 0.9 мкс 1 с 8.4 * 10^15 лет
0.006 мкс 0.05 мкс 0.282 мкс 2.5 мкс 13 дней  

 



1. Функция-константа: сравнение, присваивание

2. Логарифмическая функция:

3. Линейная функция:

4. Суперлинейная:

5. Квадратичная функция:

6. Кубическая функций:

7. Показательная функция:

8. Факториальная функция:

 

· Логарифмическая временная сложность проявляется в таких алгоритмах, как двоичный поиск, с ростом n такая функция растет очень медленно.

· Линейная: такие функции измеряют трудоемкость просмотра каждого элемента в массиве.

· Суперлинейная: важный класс функций, возникает в таких алгоритмах, как quicksort (Хоара), mergesort (сортировка слиянием).

· Квадратичная: возникает в прямый методах сортировки: пузырек, выбор, вставки.

· Кубическая: возникает при перечислении всех триад элементов в универсальном множестве из n элементов. Такая же оценка идет в динамическом программировании.

· Показательная: возникает при перечислении всех подмножеств множества из n элементов.

· Факториальная: определяет все перестановки n элементов.

 

Отношения доминирования функций:

 

<== предыдущая лекция | следующая лекция ==>
| Асимптотические нотации. Асимптотические обозначения

Дата добавления: 2014-01-04; Просмотров: 441; Нарушение авторских прав?;


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



ПОИСК ПО САЙТУ:


Читайте также:



studopedia.su - Студопедия (2013 - 2017) год. Не является автором материалов, а предоставляет студентам возможность бесплатного обучения и использования! Последнее добавление ip: 54.162.164.247
Генерация страницы за: 0.024 сек.