Функция, которая является Big O (1), но не Ω (1)

Могут ли некоторые помочь мне с функцией, которая является Big O (1), но не Ω (1), и наоборот? Некоторое объяснение очень поможет.


person rda3mon    schedule 26.09.2010    source источник
comment
когда функция будет O (1), но не Ω (1)? Подумайте, что означает каждое из них.   -  person aaronasterling    schedule 26.09.2010
comment
Поскольку O (1) - константа, не может быть функции, которая ограничена сверху O (1). Вот что я думаю ...   -  person rda3mon    schedule 26.09.2010
comment
Это связано с stackoverflow.com/questions/3209139/   -  person andand    schedule 27.09.2010


Ответы (1)


Большой O означает ‹=, а большой Omega означает> =, поэтому функция, которая равна O (1), но не Omega (1), - это f (n) = 1 / n. С другой стороны, f (n) = n работает.

person Keith Randall    schedule 26.09.2010
comment
@Keith: Как вы могли когда-либо построить алгоритм, делающий дробное количество шагов? - person Michael Madsen; 26.09.2010
comment
Вы не можете. Но вопрос был не в этом. - person Keith Randall; 26.09.2010
comment
Тогда, во-первых, это правильный вопрос? - person rda3mon; 26.09.2010
comment
Хорошая уловка, я тоже думал об алгоритме. +1. - person IVlad; 26.09.2010
comment
Вопрос совершенно справедливый, если вы говорите только о функциях. Однако, если функция представляет время работы алгоритма, оно должно быть не менее 1. В любом случае обратное (Omega (1), но не O (1)) совершенно верно. - person Keith Randall; 26.09.2010
comment
Тогда я ошибся, пометив это в алгоритмах. Но, как мне кажется, поскольку O (1) является константой, как она может ограничивать любую кривую. Или может быть просто Theta (1) всего лишь константа? Я только начинаю с алгоритмов, пожалуйста, не задавайте глупых вопросов - person rda3mon; 26.09.2010
comment
@Ringo: O (1) - это набор. А именно множество ограниченных функций. И n - ›1 / n (для натуральных чисел n) является членом этого множества. Ω (1) - другое множество, а именно множество функций, отделенных от нуля, и n - ›1 / n не является членом этого множества. Теперь, поскольку время работы алгоритма не может каким-либо разумным образом (что я мог себе представить) уменьшаться с большими входными данными, в контексте алгоритмической сложности, разумно рассматривать алгоритмы с временем выполнения в O (1) как требующий практически постоянного времени. - person Christopher Creutzig; 26.09.2010
comment
Итак, Theta Θ (1) должна быть константой, я прав? Это развеяло многие мои сомнения. Спасибо Кристоферу Кройцигу, Кейту Рэндаллу и другим. - person rda3mon; 26.09.2010
comment
Кроме того, насколько я понимаю, O (1) и Ω (1) являются дизъюнктными множествами, это правильно? - person rda3mon; 26.09.2010
comment
@Ringo: Нет, Θ (1) = O (1) ∩ Ω (1) - это множество всех функций f, которые имеют конечный ненулевой предел. Что для алгоритмической сложности «по существу постоянное». (Строго говоря, Θ (1) - это, конечно, константа. Постоянный набор функций. В том же смысле, что функция sin является константой - сама функция не изменяется…) - person Christopher Creutzig; 26.09.2010
comment
Хорошо, я понял вашу точку зрения. Это было очень полезно ... Спасибо. У меня есть еще одно сомнение: в книге Cormen по алгоритмам я читал, что Θ (n ^ 0) совпадает с Θ (1). Как это возможно, если Θ (1) = O (1) ∩ Ω (1), так как O (1) имеет n ^ (1/2) в качестве своей функции? - person rda3mon; 26.09.2010
comment
@Ringo, меня смущает твой вопрос. В O (1) нет n ^ (1/2). n ^ (1/2) растет с увеличением n. Но n ^ (1/2) находится в Омеге (1). - person Keith Randall; 27.09.2010
comment
Ладно, я понял. Я был сбит с толку, прежде чем задать этот вопрос. Теперь мне это показалось ясным. Спасибо - person rda3mon; 27.09.2010
comment
@MichaelMadsen AFAIK Существуют алгоритмы квантовых вычислений, которые могут выполнять вычисления быстрее, чем объем данных - поиск в n элементах за время O (sqrt (n)). Пока это все еще теоретически, потому что такое квантовое оборудование еще не создано, алгоритмы находятся в процессе работы. (В настоящее время создаваемые адиабиатические квантовые компьютеры являются лишь одним из возможных типов). - person Grzegorz Wierzowiecki; 11.01.2012