Я бы предпочел как можно меньше формального определения и простую
Временная сложность алгоритма определяет количество времени, затрачиваемого алгоритмом на выполнение, в зависимости от размера входных данных проблемы. Временная сложность алгоритма обычно выражается с использованием нотации большого O, которая подавляет мультипликативные константы и члены более низкого порядка.
Я бы предпочел как можно меньше формального определения и простую
Какой самый краткий и эффективный способ выяснить, содержит ли массив JavaScript значение? Это единственный способ, которым я знаю, чтобы сделать это: function contains(a, obj) { for (var i = 0; i < a.length; i++) { if (a[i] === obj) { return true; } } return false; } Есть ли лучший и более...
Я узнаю о времени работы Big O Notation и времени амортизации. Я понимаю понятие O (n) линейного времени, означающего, что размер входных данных влияет на рост алгоритма пропорционально ... и то же самое относится, например, к квадратичному времени O (n 2 ) и т. Д. Даже к алгоритмам такие как...
Project Euler и другие конкурсы по кодированию часто имеют максимальное время для запуска, или люди хвастаются тем, насколько быстро работает их конкретное решение. В Python иногда подходы несколько хитры - например, добавление временного кода в __main__. Как правильно определить, сколько времени...
Вопрос Как найти временную сложность алгоритма? Что я сделал, прежде чем опубликовать вопрос о SO? Я прошел через это , это и многие другие ссылки Но не там, где я смог найти четкое и прямое объяснение того, как рассчитать сложность времени. Что я знаю ? Скажем для кода так же просто, как показано...
Учитывая, что строки являются неизменяемыми в .NET, мне интересно, почему они были разработаны таким образом, что вместо string.Substring()O? substring.Length) Требуется время O(1)? т.е. каковы были компромиссы, если таковые...
Я понимаю нотацию Big-O, но не знаю, как рассчитать ее для многих функций. В частности, я пытался выяснить вычислительную сложность наивной версии последовательности Фибоначчи: int Fibonacci(int n) { if (n <= 1) return n; else return Fibonacci(n - 1) + Fibonacci(n - 2); } Какова вычислительная...
В чем разница между Big-O нотации O(n)и Little-O нотации
Есть ли случаи, когда вы бы предпочли O(log n)сложность O(1)времени сложности времени? Или O(n)к O(log n)? У вас есть
Ресурсы, которые я нашел по сложности времени, неясно, когда можно игнорировать термины в уравнении сложности времени, особенно с неполиномиальными примерами. Для меня ясно, что при условии чего-то вида n 2 + n + 1 последние два члена не имеют значения. В частности, с учетом двух категорий, 2 n и n...
Я видел несколько интересных утверждений о SO хэш-картах Java и времени их O(1)поиска. Может кто-нибудь объяснить, почему это так? Если эти хеш-карты не сильно отличаются от любого из алгоритмов хэширования, на которые я был куплен, всегда должен существовать набор данных, содержащий коллизии. В...
Я слышал, как кто-то сказал, что поскольку бинарный поиск делит пополам входные данные, необходимые для поиска, то это алгоритм log (n). Так как я не имею математического образования, я не могу иметь к нему отношение. Может кто-нибудь объяснить это немного подробнее? это имеет отношение к...
Базовый алгоритм для BFS: set start vertex to visited load it into queue while queue not empty for each edge incident to vertex if its not visited load into queue mark vertex Поэтому я бы подумал, что временная сложность будет такой: v1 + (incident edges) + v2 + (incident edges) + .... + vn +...
Предположим, нам дан массив из n целых чисел, представляющих курсы акций за один день. Мы хотим найти пару (buyDay, sellDay) с buyDay ≤ sellDay , чтобы, если бы мы купили акции в buyDay и продали их в sellDay , мы бы максимизировали нашу прибыль. Очевидно, что существует решение алгоритма за O (n 2...
Какие алгоритмы, которые мы используем ежедневно, имеют сложность O (1), O (n log n) и O (log
Мои знания о big-O ограничены, и когда в уравнении появляются логарифмические термины, это еще больше меня сбивает. Может ли кто-нибудь объяснить мне простым языком, что такое O(log n)алгоритм? Откуда логарифм? Это особенно актуально, когда я пытался решить этот промежуточный практический вопрос:...
В этом предыдущем вопросе рассматриваются некоторые факторы, которые могут привести к тому, что алгоритм будет иметь сложность O (log n). Что может привести к тому, что алгоритм будет иметь временную сложность O (log log n)?...
Массивы в JavaScript очень легко изменять, добавляя и удаляя элементы. Это несколько маскирует тот факт, что большинство языковых массивов имеют фиксированный размер и требуют сложных операций для изменения размера. Кажется, что JavaScript упрощает написание плохо работающего кода массива. Это...
Что такое псевдополиномиальное время ? Чем оно отличается от полиномиального времени? Некоторые алгоритмы, работающие за псевдополиномиальное время, имеют время выполнения, например O (nW) (для задачи о ранце 0/1 ) или O (√n) (для пробного деления ); почему это не считается полиномиальным...
Мне трудно решить, какова временная сложность алгоритма наибольшего общего знаменателя Евклида. Этот алгоритм в псевдокоде: function gcd(a, b) while b ≠ 0 t := b b := a mod b a := t return a Кажется, это зависит от a и b . Я думаю, что временная сложность равна O (a% b). Это правильно? Есть ли...