Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Топ:
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Интересное:
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
2021-04-18 | 110 |
5.00
из
|
Заказать работу |
|
|
К сожалению, далеко не всегда для алгоритма легко получить точную асимптотическую оценку, и приходится удовлетворяться оценками менее точными. Говорят, что f(n)=O(g(n)) (читается “О большое от g от n”), если найдётся такая константа c>0 и такое число n0, что f(n) cg(n) для всех n n0 (рис. 1.4,б). Функция g(n) представляет собой верхнюю асимптотическую оценку функции f(n) (где f(n) - например, время работы или другая характеристика алгоритма).
Зная оценку времени выполнения алгоритма T(n)=O(g(n)), мы можем сказать, что число операций алгоритма не превышает g(n), умноженному на некоторую константу. Однако, мы не знаем, действительно ли алгоритм будет выполнять столько операций – возможно, на самом деле их значительно меньше. Например, для алгоритма сортировки пузырьком, рассмотренного выше, можно сказать, что T(n)=O(n4). Однако, оценка T(n)=O(n3) характеризует алгоритм более точно, а T(n)=O(n2) - ещё точней (она совпадает с точной асимптотической оценкой). При анализе алгоритма нужно стремиться получить верхнюю оценку как можно ниже, тогда она будет иметь практическое значение.
Нижняя асимптотическая оценка Ω
Аналогично определяется нижняя асимптотическая оценка. Говорят, что f(n)=Ω(g(n)), если найдётся такая константа c>0 и такое число n0, что f(n) cg(n)) для всех n n0 (рис. 1.4в). Зная, что временя выполнения алгоритма T(n)=Ω(g(n)), мы можем сказать, что число операций алгоритма не меньше, чем g(n), умноженное на некоторую константу. Однако, данная характеристика не показывает, насколько действительно больше операций выполняет алгоритм в действительности. При анализе алгоритма нужно стремиться получить как можно более высокую нижнюю оценку.
Примечание
Иногда нижнюю границу определяют несколько по-другому [3]: говорят, что f(n)=Ω(g(n)), если существует такая константа c, что f(n) cg(n)) для бесконечно большого количества значений n. Например, алгоритм, который выполняет n операций для чётных значений n и n2 для нечётных, с этой точки зрения будет иметь максимальную нижнюю границу Ω(n2), тогда как для ранее данного определения – только Ω(n). Однако, для большинства практических алгоритмов оценки совпадают.
|
Точная асимптотическая оценка времени работы алгоритма находится где-то между его нижней и верхней оценками. В частности, несложно показать, что если T(n)=O(g(n)) и T(n)=Ω(g(n)), то T(n)=Θ(g(n)).
Исторически так сложилось, что верхняя асимптотическая оценка О была введена намного раньше оценок Θ и Ω (учебник Бахмана по теории простых чисел, 1892 год). Две последних асимптотических оценки были введены Дональдом Кнутом. Возможно, в связи с этим в литературе по программированию чаще используется оценка О, даже в тех случаях, когда она совпадает с точной асимптотической оценкой Θ. В дальнейшем изложении мы будем использовать все асимптотические оценки, отдавая предпочтение точной оценке Θ, если это не связано с чрезмерно большими вычислительными затратами.
|
|
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!