Вопросы с тегом «big-o»

123
Максимальная прибыль от одной продажи

Предположим, нам дан массив из n целых чисел, представляющих курсы акций за один день. Мы хотим найти пару (buyDay, sellDay) с buyDay ≤ sellDay , чтобы, если бы мы купили акции в buyDay и продали их в sellDay , мы бы максимизировали нашу прибыль. Очевидно, что существует решение алгоритма за O (n 2...

114
Могут ли хеш-таблицы действительно быть O (1)?

Кажется, всем известно, что хеш-таблицы могут достигать O (1), но для меня это никогда не имело смысла. Может кто-нибудь объяснить это? На ум приходят две ситуации: A. Значение на целое число меньше размера хеш-таблицы. Следовательно, значение является его собственным хешем, поэтому хеш-таблицы...

106
Что может привести к тому, что алгоритм будет иметь сложность O (log n)?

Мои знания о big-O ограничены, и когда в уравнении появляются логарифмические термины, это еще больше меня сбивает. Может ли кто-нибудь объяснить мне простым языком, что такое O(log n)алгоритм? Откуда логарифм? Это особенно актуально, когда я пытался решить этот промежуточный практический вопрос:...

106
Почему вставка в середине связанного списка O (1)?

Согласно статье Википедии о связанных списках , вставка в середину связанного списка считается O (1). Я бы подумал, что это будет O (n). Разве вам не нужно было бы найти узел, который может быть ближе к концу списка? Разве этот анализ не учитывает обнаружение операции узла (хотя это необходимо) и...

106
Что может привести к тому, что алгоритм будет иметь сложность O (log log n)?

В этом предыдущем вопросе рассматриваются некоторые факторы, которые могут привести к тому, что алгоритм будет иметь сложность O (log n). Что может привести к тому, что алгоритм будет иметь временную сложность O (log log n)?...

105
Большое число массивов JavaScript

Массивы в JavaScript очень легко изменять, добавляя и удаляя элементы. Это несколько маскирует тот факт, что большинство языковых массивов имеют фиксированный размер и требуют сложных операций для изменения размера. Кажется, что JavaScript упрощает написание плохо работающего кода массива. Это...

101
Что такое псевдополиномиальное время? Чем оно отличается от полиномиального времени?

Что такое псевдополиномиальное время ? Чем оно отличается от полиномиального времени? Некоторые алгоритмы, работающие за псевдополиномиальное время, имеют время выполнения, например O (nW) (для задачи о ранце 0/1 ) или O (√n) (для пробного деления ); почему это не считается полиномиальным...

100
Временная сложность алгоритма Евклида

Мне трудно решить, какова временная сложность алгоритма наибольшего общего знаменателя Евклида. Этот алгоритм в псевдокоде: function gcd(a, b) while b ≠ 0 t := b b := a mod b a := t return a Кажется, это зависит от a и b . Я думаю, что временная сложность равна O (a% b). Это правильно? Есть ли...

100
В чем разница между нижней границей и жесткой границей?

Со ссылкой на этот ответ , что такое Тета (жесткая связь)? Omega - это нижняя граница, вполне понятная, минимальное время, которое может занять алгоритм. И мы знаем, что Big-O предназначен для верхней границы, что означает максимальное время, которое может занять алгоритм. Но я понятия не имею о...

96
Является ли база журнала Big O (logn) e?

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

50
Почему вычислительная сложность O (n ^ 4)?

int sum = 0; for(int i = 1; i < n; i++) { for(int j = 1; j < i * i; j++) { if(j % i == 0) { for(int k = 0; k < j; k++) { sum++; } } } } Я не понимаю, как, когда j = i, 2i, 3i ... последний forцикл выполняется n раз. Думаю, я просто не понимаю, как мы пришли к такому выводу на основании...