Вопросы с тегом «algorithms»

19
Сортировать массив из 5 целых чисел с максимумом 7 сравнений

Как отсортировать список из 5 целых чисел, чтобы в худшем случае потребовалось 7 сравнений? Мне все равно, сколько других операций выполняется. Я не знаю ничего конкретного о целых числах. Я пробовал несколько разных подходов «разделяй и властвуй», которые сводят меня к 8 сравнениям, например,...

19
Существует ли алгоритм O (n log n) для упрощения четырехмерной линии?

Алгоритм Рамер-Дуглас-Peucker для упрощения линии имеет наихудший среда выполнения. Для правильно распределенных случайных входов ожидаемая сложность времени выполнения . В 2D есть другие алгоритмы со сложностью времени выполнения худшем случае , которые вычисляют точно такой же результат, что и...

19
Чем динамическое программирование отличается от грубой силы

Я читал о динамическом программировании, когда наткнулся на следующую цитату Алгоритм динамического программирования рассмотрит все возможные пути решения проблемы и выберет лучшее решение. Таким образом, мы можем приблизительно представить динамическое программирование как интеллектуальный метод...

19
Назначение серого узла в графе поиска в глубину

Во многих реализациях поиска в глубину, который я видел (например: здесь ), код различает серую вершину (обнаружена, но не все ее соседи были посещены) и черную вершину (обнаружена и все ее соседи посещены) , Какова цель этого различия? Кажется, что алгоритм DFS никогда не посещает посещенную...

19
Как время выполнения алгоритма Укконена зависит от размера алфавита?

Меня интересует вопрос об асимптотическом времени выполнения алгоритма Укконена , возможно, самого популярного алгоритма построения суффиксных деревьев за линейное (?) Время. Вот цитата из книги «Алгоритмы на строках, деревьях и последовательностях» Дэна Гасфилда (раздел 6.5.1): »... в...

19
Как доказать, что матричное умножение двух матриц 2x2 не может быть выполнено менее чем за 7 умножений?

В матричном умножении Штрассена мы констатируем один странный (по крайней мере для меня) факт, что умножение матрицы на два 2 x 2 требует 7 умножения. Вопрос: Как доказать, что невозможно умножить две матрицы 2 x 2 на 6 умножений? Обратите внимание, что матрицы над целыми...

19
Генерация входных данных для алгоритмов случайного тестирования графа?

При тестировании алгоритмов общим подходом является случайное тестирование: генерировать значительное количество входных данных в соответствии с некоторым распределением (обычно равномерным), запускать алгоритм на них и проверять правильность. Современные инфраструктуры тестирования могут...

19
Максимально независимый набор двудольного графа

Я пытаюсь найти максимальный независимый набор бипаритового графа. В некоторых заметках я обнаружил следующее: «13 мая 1998 г. - Вашингтонский университет - CSE 521 - Приложения сетевого потока» : Проблема: Для двудольного графа G=(U,V,E)G=(U,V,E)G = (U,V,E) найдите как можно большее независимое...

19
Зачем использовать сравнения вместо времени выполнения для сравнения двух алгоритмов?

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

19
Какой алгоритм сортировки в постоянном пространстве наиболее эффективен?

Я ищу алгоритм сортировки для массивов int, который не выделяет ни одного байта, кроме размера массива, и ограничен двумя инструкциями: SWAP: поменять следующий индекс на текущий; MOVE: перемещает курсор к индексу +1 или -1; То есть вы не можете поменять местами не соседние индексы и не поменять...

19
Сложность нахождения биномиального коэффициента, равного числу

Предположим, вы получаете число mmm (используя O(logm)O(log⁡m)O(\log m) бит в двоичном кодировании). Как быстро вы можете найти (или определить, что такое не существует) ?n,k∈N,1<k≤n2:(nk)=mn,k∈N,1<k≤n2:(nk)=mn,k\in \mathbb N,...

19
Взвешенная сумма последних N чисел

Предположим, мы получаем цифры в потоке. После получения каждого числа необходимо вычислить взвешенную сумму последних NNN чисел, где веса всегда одинаковы, но произвольны. Насколько эффективно это можно сделать, если нам разрешено сохранять структуру данных, чтобы помочь с вычислениями? Можем ли...

18
Что сложнее: перетасовать отсортированную колоду или сортировать перетасованную?

У вас есть массив из отдельных элементов. У вас есть доступ к компаратору (функция черного ящика, принимающая два элемента и и возвращающая true, если ) и действительно случайный источник битов (функция черного ящика, не принимающая аргументов и возвращающая независимо равномерно случайный бит)....

18
Почему нет алгоритмов аппроксимации для SAT и других задач решения?

У меня NP-полное решение проблемы. Учитывая пример проблемы, я хотел бы разработать алгоритм, который выводит ДА, если проблема выполнима, и НЕТ, в противном случае. (Конечно, если алгоритм не является оптимальным, он будет делать ошибки.) Я не могу найти никаких приближенных алгоритмов для таких...

18
Имитация честного кубика с предвзятым штампом

Учитывая смещенную NNN стороннюю матрицу, как можно случайное число в диапазоне [1,N][1,N][1,N]равномерно генерировать N ] ? Распределение вероятностей граней матрицы неизвестно, все, что известно, это то, что каждая грань имеет ненулевую вероятность и что распределение вероятности одинаково для...

18
Что означает более быстрый алгоритм в теоретической информатике?

Если существует алгоритм, работающий во времени O(f(n))O(f(n))O(f(n)) для некоторой задачи A, и кто-то придумывает алгоритм, работающий во времени, O(f(n)/g(n))O(f(n)/g(n))O(f(n)/g(n)) , где g(n)=o(f(n))g(n)=o(f(n))g(n) = o(f(n)) , считается ли это улучшением по сравнению с предыдущим алгоритмом?...

18
Может ли минимальное сокращение быть проще, чем сетевой поток?

Благодаря теореме min-cut о максимальном потоке мы знаем, что мы можем использовать любой алгоритм для вычисления максимального потока в сетевом графе для вычисления -min-cut. Следовательно, сложность вычисления минимального -среза не больше, чем сложность вычисления максимального -потока.( с , т...

18
Рецидивы и генерация функций в алгоритмах

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

18
Вычисление обратной матрицы при изменении элемента

Дана матрица . Пусть обратная матрица будет (то есть ). Предположим, что один элемент в изменен (скажем, до ). Цель состоит в том, чтобы найти после этого изменения. Есть ли способ найти эту цель, который более эффективен, чем пересчет обратной матрицы с нуля.n × nN×Nn \times...