Можно изменить его в постфиксном конфигурационном файле /etc/postfix/main.cf
.
привет строкой управляют smtpd_banner
параметр. Это, вероятно, ссылается myhostname
опция. Поместите свое имя сервера там вместо localhost
:
myhostname = server.example.com
smtpd_banner = $myhostname
и перезапуск снабжают постфиксом sudo postfix reload
.
f ∈ O (g) говорит, что по существу
Для по крайней мере один выбор константы k > 0, вы можете найти константа a такая, что неравенство 0 <= f (x) <= kg (x) выполняется для всех x> a.
Обратите внимание, что O (g) - это множество всех функций, для которых выполняется это условие.
f ∈ o (g) говорит, по сути,
Для каждый выбор константы ] k > 0, вы можете найти константу a такую, что неравенство 0 <= f (x)
a.
Еще раз отметим что o (g) - это множество.
В Big-O необходимо только найти конкретный множитель k , для которого неравенство выполняется сверх некоторого минимума x .
В Литтл-о, должно быть, что существует минимум x , после которого неравенство выполняется независимо от того, насколько малым вы сделаете k , если оно не отрицательное или не ноль.
Оба они описывают верхние оценки, хотя это несколько противоречит интуиции, Little-o является более сильным утверждением. Разрыв между темпами роста f и g намного больше, если f ∈ o (g), чем если f ∈ O (g).
Одна из иллюстраций несоответствия: f ∈ O (f) истинно, но f ∈ o (f) ложно. Следовательно, Big-O можно читать как «f ∈ O (g) означает, что асимптотический рост f не выше, чем g», тогда как «f ∈ o (g) означает, что асимптотический рост f строго медленнее, чем g». Это похоже на <=
по сравнению с <
.
Более конкретно, если значение g (x) является постоянным кратным значению f (x), то верно f ∈ O (g). Вот почему вы можете опустить константы при работе с нотацией большого O.
Однако, чтобы f ∈ o (g) было истинным, тогда g должен включать в свою формулу более высокую степень x, и поэтому относительное разделение между f (x) и g (x) должно фактически увеличиваться по мере увеличения x.
Чтобы использовать чисто математические примеры (а не ссылаться на алгоритмы):
Следующее верно для Big- O, но было бы неверно, если бы вы использовали little-o:
Следующие верны для little-o:
Обратите внимание, что если f ∈ o (g) , отсюда f ∈ O (g). например, x² ∈ o (x³), поэтому также верно, что x² ∈ O (x³), (опять же, подумайте о O как <=
и o как <
)
Однако для того, чтобы f ∈ o (g) было истинным, тогда g должен включать в свою формулу более высокую степень x, и поэтому относительное разделение между f (x) и g (x) должно фактически увеличиваться по мере увеличения x.
Чтобы использовать чисто математические примеры (а не ссылаться на алгоритмы):
Для Big- O, но было бы неверно, если бы вы использовали little-o:
Следующие верны для little-o:
Обратите внимание, что если f ∈ o (g) , отсюда f ∈ O (g). например, x² ∈ o (x³), так что также верно, что x² ∈ O (x³), (опять же, подумайте о O как <=
и o как <
)
Однако для того, чтобы f ∈ o (g) было истинным, тогда g должен включать в свою формулу более высокую степень x, и поэтому относительное разделение между f (x) и g (x) должно фактически увеличиваться по мере увеличения x.
Чтобы использовать чисто математические примеры (а не ссылаться на алгоритмы):
Следующее верно для Big- O, но было бы неверно, если бы вы использовали little-o:
Следующие верны для little-o:
Обратите внимание, что если f ∈ o (g) , отсюда f ∈ O (g). например, x² ∈ o (x³), так что также верно, что x² ∈ O (x³), (опять же, подумайте о O как <=
и o как <
)
Чтобы использовать чисто математические методы. примеры (вместо ссылки на алгоритмы):
Следующее верно для Big-O, но не будет верным, если вы используете little-o:
Следующее верно для little-o:
Заметим, что если f ∈ o (g), это влечет f ∈ O (g). например, x² ∈ o (x³), так что также верно, что x² ∈ O (x³), (опять же, подумайте о O как <=
и o как <
)
Чтобы использовать чисто математические методы. примеры (вместо ссылки на алгоритмы):
Следующее верно для Big-O, но не будет верным, если вы используете little-o:
Следующее верно для little-o:
Заметим, что если f ∈ o (g), это влечет f ∈ O (g). например, x² ∈ o (x³), так что также верно, что x² ∈ O (x³), (опять же, подумайте о O как <=
и o как <
)
Чтобы использовать чисто математические примеры (а не ссылаться на алгоритмы):
Следующее верно для Big-O, но было бы неверным, если бы вы использовали little-o:
Для little-o справедливо следующее:
Заметим, что если f ∈ o (g), это влечет f ∈ O (g). например, x² ∈ o (x³), поэтому также верно, что x² ∈ O (x³), (опять же, подумайте о O как <=
и o как <
)
Чтобы использовать чисто математические примеры (а не ссылаться на алгоритмы):
Следующее верно для Big-O, но было бы неверно, если бы вы использовали little-o:
Для little-o справедливо следующее:
Заметим, что если f ∈ o (g), это влечет f ∈ O (g). например, x² ∈ o (x³), так что также верно, что x² ∈ O (x³), (опять же, подумайте о O как <=
и o как <
)
Big-O - это мало, как ≤
, чтобы <
. Big-O - инклюзивная верхняя граница, а little-o - строгая верхняя граница.
Например, функция f (n) = 3n
:
O ( n²)
, o (n²)
и O (n)
O (lg n)
, o (lg n)
, или o (n)
Аналогично, число 1
:
≤ 2
, <2
и ≤ 1
≤ 0
, <0
или <1
Вот таблица, показывающая общую идею:
(Примечание: таблица является хорошим руководством, но ее определение предела должно быть основано на высшем пределе вместо нормального предела. Например, 3 + (n mod 2)
постоянно колеблется между 3 и 4. Он находится в O (1)
, несмотря на отсутствие нормального предела, потому что он все еще имеет lim sup
: 4.)
Я рекомендую запомнить, как нотация Big-O преобразуется в асимптотические сравнения. Сравнения легче запомнить, но они менее гибкие, потому что вы не можете сказать такие вещи, как n O (1) = P.
поскольку он все еще имеет lim sup
: 4.)
Я рекомендую запомнить, как нотация Big-O преобразуется в асимптотические сравнения. Сравнения легче запомнить, но они менее гибкие, потому что вы не можете сказать такие вещи, как n O (1) = P.
поскольку он все еще имеет lim sup
: 4.)
Я рекомендую запомнить, как нотация Big-O преобразуется в асимптотические сравнения. Сравнения легче запомнить, но они менее гибкие, потому что вы не можете сказать такие вещи, как n O (1) = P.
Я считаю, что когда я не могу концептуально что-то понять, размышления о , почему можно использовать X , помогают понять X. (Не сказать, что вы не пробовали это, я просто готовлю почву.)
[кое-что, что вы знаете] Распространенным способом классификации алгоритмов является время выполнения, и, сославшись на огромную сложность алгоритма, вы можете получить довольно хорошую оценку того, какой из них «лучше» - в зависимости от того, какой из них имеет " наименьшая "функция в O! Даже в реальном мире O (N) «лучше», чем O (N²), за исключением таких глупых вещей, как сверхмассивные константы и тому подобное. [/ Stuff you know]
Допустим, есть алгоритм, который работает в O (N). Довольно хорошо, да? Но допустим, вы (вы гениальный человек) придумали алгоритм, который работает в O ( N ⁄ loglogloglogN ). УРА! Это быстрее! Но вам будет глупо писать это снова и снова, когда вы пишете диссертацию. Итак, вы пишете его один раз и можете сказать: «В этой статье я доказал, что алгоритм X,