asymptotic-complexity

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

Я пытаюсь выяснить сложность цикла for, используя большую нотацию O. Я делал это раньше в других моих классах, но этот более строгий, чем другие, потому что он находится на фактическом алгоритме. Код выглядит следующим образом: for(i=n ; i>1 ; i/=2) //for any size n { for(j = 1; j < i; j++) { ...

Я реализовал в C++ двоичную кучу на основе массива и двоичную кучу на основе указателя. Я провожу небольшой эксперимент, в котором для различных входных размеров n я сделал n вставок. Элементы имеют тип int32_t, и каждый из них выбирается равномерно случайным образом (с помощью твистера Мерсенна) из {1,...,...

Обратите внимание, что я прошу здесь little-o (см. аналогичный вопрос здесь ) - для big Oh это явно неправильно - для little-o это кажется правильным, но не может доказать это... EDIT: рад, что я поднял дискуссию :) предположим f, g > 0 для простоты ...

Я застрял в этом повторении: T(n) = T(n − 1) + lg(1 + 1/n), T(1) = 1? Некоторое время, и кажется, что главный метод не может быть применен к этому....

У меня есть этот код python для поиска самой длинной подстроки. Я пытаюсь вычислить асимптотическое время его выполнения, и я пришел к ответу, но я не уверен, что это правильно. Вот код: def longest_substring(s, t): best = ' ' for s_start in range(0, len(s)): for s_end in range(s_start, len(...

Я знаю, что большая сложность этого алгоритма O(n^2), но я не могу понять, почему. int sum = 0; int i = 1; j = n * n; while (i++ < j--) sum++; даже если мы ставим j = n * n в начале мы увеличиваем i и уменьшаем j во время каждой итерации, поэтому результирующее число итераций не должно быть намного...