Является ли Big log (logn) базой базы?

Для двоичного типа дерева поиска структур данных я вижу, что запись Big O обычно обозначается как O (logn). В нижнем регистре "l" в журнале это подразумевает базу данных e (n), как описано натуральным логарифмом? Извините за простой вопрос, но мне всегда было трудно различать разные подразумеваемые логарифмы.

Ответы

Ответ 1

Как только они выражены в обозначениях с большими O(), оба правильны. Однако при выводе полинома O() в случае двоичного поиска выполняется только log 2. Я предполагаю, что это различие было интуитивным вдохновением для вашего вопроса для начала.

Кроме того, по моему мнению, запись O (log 2 N) лучше для вашего примера, потому что она лучше связывает вывод времени выполнения алгоритма.

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

Итак, O (log N) эквивалентен O (log 2 N) из-за постоянного множителя.

Однако, если вы можете легко ввести в свой ответ log 2 N, то это более педагогично. В случае поиска двоичного дерева вы считаете правильным, что log 2 N вводится во время генерации времени выполнения big-O().

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

Ответ 3

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

Тем не менее, я, вероятно, предположил бы базу данных 2.

Ответ 4

Технически база не имеет значения, но вы можете думать об этом как о базовом 2.

Ответ 5

Да, когда речь идет о нотации Big-O, база не имеет значения. Однако при вычислении, когда речь идет о реальной проблеме поиска, это имеет значение.

При разработке интуиции о древовидных структурах полезно понять, что двоичное дерево поиска можно искать в O (n log n), потому что это высота дерева, то есть в двоичном дереве с n узлами, глубина дерева равна O (n log n) (основание 2). Если каждый node имеет троих детей, дерево можно искать в O (n log n), но с логарифмом базы 3. Вычислительно число детей, каждое из которых node может иметь большое влияние на производительность (см. например: текст ссылки)

Наслаждайтесь!

Пол

Ответ 6

Оба правильные. Подумайте об этом

log2(n)=log(n)/log(2)=O(log(n))
log10(n)=log(n)/log(10)=O(log(n))
logE(n)=log(n)/log(E)=O(log(n))