Вопросы с тегом «algorithm-analysis»

Вопросы о науке и искусстве определения свойств алгоритмов, часто включая правильность, время выполнения и использование пространства. Используйте тег [runtime-analysis] для вопросов о времени выполнения алгоритмов.


2
Почему добавление вероятностей журнала быстрее, чем умножение вероятностей?
Чтобы сформулировать вопрос, в информатике часто мы хотим вычислить произведение нескольких вероятностей: P(A,B,C) = P(A) * P(B) * P(C) Самый простой подход - просто умножить эти числа, и это то, что я собирался сделать. Однако мой начальник сказал, что лучше добавить журнал вероятностей: log(P(A,B,C)) = log(P(A)) + log(P(B)) + log(P(C)) …

3
Появляются ли функции с более медленным ростом, чем обратный Аккерманн, в границах времени выполнения?
Некоторые сложные алгоритмы ( объединение-поиск ) имеют почти постоянную обратную функцию Аккермана, которая появляется при асимптотической сложности времени, и являются оптимальными по времени в худшем случае, если почти постоянный обратный член Аккермана игнорируется. Существуют ли примеры известных алгоритмов со временем выполнения, в которых задействованы функции, которые растут в основном медленнее, …

7
Каковы характеристики
Иногда легко определить временную сложность алгоритма, если внимательно его изучить. Алгоритмы с двумя вложенными циклами , очевидно, N 2 . Алгоритмы , которые исследуют все возможные комбинации N групп из двух значений, очевидно , 2 N .NNNN2N2N^2NNN2N2N2^N Однако я не знаю, как «определить» алгоритм со сложностью . Например, рекурсивная реализация …

5
Как долго длится рекурсия Коллатца?
У меня есть следующий код Python. def collatz(n): if n <= 1: return True elif (n%2==0): return collatz(n/2) else: return collatz(3*n+1) Каково время работы этого алгоритма? Пытаться: Если обозначает время работы функции . Тогда я думаю, что у меня { T ( n ) = 1 для n ≤ 1 …

1
Как время выполнения алгоритма Укконена зависит от размера алфавита?
Меня интересует вопрос об асимптотическом времени выполнения алгоритма Укконена , возможно, самого популярного алгоритма построения суффиксных деревьев за линейное (?) Время. Вот цитата из книги «Алгоритмы на строках, деревьях и последовательностях» Дэна Гасфилда (раздел 6.5.1): »... в Ахо-Corasick, Weiner, Ukkonen алгоритмы и McCreight все либо требуют пространство, илиΘ(m|Σ|)Θ(m|Σ|)\Theta(m|\Sigma|) временные рамки …

3
Зачем использовать сравнения вместо времени выполнения для сравнения двух алгоритмов?
Я заметил, что в нескольких исследовательских работах по CS, для сравнения эффективности двух алгоритмов, используется общее число ключевых сравнений в алгоритмах, а не реальное время вычислений. Почему мы не можем сравнить, какая из них лучше, запустив обе программы и посчитав общее время, необходимое для запуска алгоритмов?

4
Почему рандомизированная быстрая сортировка имеет O (n log n) наихудших затрат времени выполнения
Рандомизированная быстрая сортировка - это расширение быстрой сортировки, в котором элемент поворота выбирается случайным образом. Что может быть наихудшим случаем временной сложности этого алгоритма. По моему мнению, это должно быть , так как наихудший случай случается, когда случайно выбранный круг выбирается в отсортированном или в обратном порядке. Но в некоторых …

2
Что сложнее: перетасовать отсортированную колоду или сортировать перетасованную?
У вас есть массив из отдельных элементов. У вас есть доступ к компаратору (функция черного ящика, принимающая два элемента и и возвращающая true, если ) и действительно случайный источник битов (функция черного ящика, не принимающая аргументов и возвращающая независимо равномерно случайный бит). Рассмотрим следующие две задачи:NNnaaaббbа &lt; бa&lt;бa < b …

2
В чем преимущество рандомизированной быстрой сортировки?
В своей книге Рандомизированных алгоритмы , Motwani и Raghavan открыть введение с описанием их функции RandQS - Рандомизированная - где быстрой сортировкой стержень, используемый для разделения множества на две части, выбирается случайным образом . В течение некоторого времени я ломал свои мозги (по общему мнению, в недостаточной степени), но я …

4
Рецидивы и генерация функций в алгоритмах
Комбинаторика играет важную роль в информатике. Мы часто используем комбинаторные методы как в анализе, так и в алгоритмах. Например, один из методов нахождения покрытия графа вершины в графе может просто проверить все \ binom {n} {k} возможных подмножеств. В то время как биномиальные функции растут экспоненциально, если k является некоторой …

4
Почему бы нам не использовать быструю сортировку в связанном списке?
Алгоритм быстрой сортировки можно разделить на следующие шаги Определить опору. Разделите связанный список на основе сводки. Разделите связанный список рекурсивно на 2 части. Теперь, если я всегда выбираю последний элемент как сводный, то для идентификации сводного элемента (1-й шаг) требуется O(n)O(n)\mathcal O(n) времени. После определения сводного элемента мы можем сохранить …

1
Сложный алгоритм триангуляции Делоне.
В книге Марка де Берга и др. «Вычислительная геометрия: алгоритмы и приложения» описан очень простой алгоритм грубой силы для вычисления триангуляций Делоне. Алгоритм использует понятие недопустимых ребер - ребер, которые могут отсутствовать в допустимой триангуляции Делоне и должны быть заменены некоторыми другими ребрами. На каждом шаге алгоритм просто находит эти …

4
Quicksort объяснил детям
В прошлом году я читал фантастическую статью «Квантовая механика для детского сада» . Это была не простая бумага. Теперь мне интересно, как объяснить быструю сортировку простейшими словами. Как я могу доказать (или, по крайней мере, вручную), что средняя сложность равна , и каковы лучшие и худшие случаи для класса детского …

2
Куча - дает алгоритм времени
Скорее всего, этот вопрос задавался раньше. Это из CLRS (2-е изд) проблема 6.5-8 - Задайте алгоритм времени для объединения k отсортированных списков в один отсортированный список, где n - общее количество элементов во всех входных списках. (Подсказка: используйте минимальную кучу для слияния k- way.)O(nlgk)O(nlg⁡k)O(n \lg k)kkknnnkkk Поскольку существует отсортированных списков …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.