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

Алгоритм - это последовательность четко определенных шагов, которые определяют абстрактное решение проблемы. Используйте этот тег, если ваша проблема связана с разработкой и анализом алгоритмов.

1
Поддержка структур данных для локального поиска SAT
WalkSAT и GSAT являются хорошо известными и простыми алгоритмами локального поиска для решения проблемы булевой выполнимости. Псевдокод для алгоритма GSAT скопирован с вопроса Реализация алгоритма GSAT - Как выбрать, какой литерал переворачивать? и представлены ниже. procedure GSAT(A,Max_Tries,Max_Flips) A: is a CNF formula for i:=1 to Max_Tries do S <- instantiation …

2
Создание самостоятельного бинарного дерева
У меня есть задание, в котором мне нужно использовать двоичное дерево поиска и изменить его на самоупорядочение таким образом, чтобы элементы, к которым обращаются чаще всего (имеют более высокий приоритет), находились в верхней части дерева, причем корень является наиболее доступным узлом , Профессор дал мне BST и нодовую структуру для …

1
Алгоритм преследования движущейся цели
Предположим, что у нас есть черный ящик который мы можем запросить и сбросить. Когда мы сбрасываем , состояние для устанавливается произвольно выбранному элементу из набора где фиксировано и известно для данного . Для запроса предоставляется элемент (предположение) из , а возвращаемое значение равно . Кроме того, состояние для устанавливается равным …

3
Каков наиболее эффективный способ вычисления факториалов по модулю простого числа?
Знаете ли вы какой-либо алгоритм, который эффективно рассчитывает факториал после модуля? Например, я хочу запрограммировать: for(i=0; i<5; i++) sum += factorial(p-i) % p; Но pэто большое число (простое число) для непосредственного применения факториала .( р ≤ 108)(п≤108)(p \leq 10^ 8) В Python эта задача действительно проста, но я действительно хочу …

1
Реализация алгоритма GSAT - Как выбрать, какой литерал переворачивать?
Алгоритм GSAT по большей части прост: вы получаете формулу в соединительной нормальной форме и переворачиваете литералы предложений до тех пор, пока не найдете решение, удовлетворяющее формуле, или не достигнете предела max_tries / max_flips и не найдете решения. Я реализую следующий алгоритм: procedure GSAT(A,Max_Tries,Max_Flips) A: is a CNF formula for i:=1 …

5
Эффективное сжатие немеченых деревьев
Рассмотрим немаркированные, укоренившиеся двоичные деревья. Мы можем сжать такие деревья: всякий раз , когда есть указатели на поддерева и с (интерпретируя как структурное равенство), мы сохраняем (без потери общности) и заменить все указатели на с указателями на . См . Ответ Ули для примера.T ′ T = T ′ = …

1
Оптимальный алгоритм нахождения обхвата разреженного графа?
Интересно, как найти обхват разреженного неориентированного графа. Под редким я подразумеваю . Под оптимальным я подразумеваю минимальную временную сложность.| Е| =O( | V| )|E|=O(|V|)|E|=O(|V|) Я думал о некоторой модификации алгоритма Тарьяна для неориентированных графов, но я не нашел хороших результатов. На самом деле я думал, что если бы я мог …

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

4
Временная сложность алгоритма: важно ли указать основание логарифма?
Поскольку существует только константа между основаниями логарифмов, не так ли просто написать f(n)=Ω(logn)f(n)=Ω(log⁡n)f(n) = \Omega(\log{n}) , в отличие от Ω(log2n)Ω(log2⁡n)\Omega(\log_2{n}) , или какова бы ни была база?

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

1
Сложность нахождения биномиального коэффициента, равного числу
Предположим, вы получаете число mmm (используя O(logm)O(log⁡m)O(\log m) бит в двоичном кодировании). Как быстро вы можете найти (или определить, что такое не существует) ?n,k∈N,1&lt;k≤n2:(nk)=mn,k∈N,1&lt;k≤n2:(nk)=mn,k\in \mathbb N, 1<k\leq\frac{n}{2}:{n \choose k}=m Например, учитывая вход , можно вывести .m=8436285m=8436285m=8436285n=27,k=10n=27,k=10n=27, k=10 Наивный алгоритм для задачи будет проходить по всем возможным значениям для и искать …

3
Детерминированный алгоритм линейного времени, чтобы проверить, является ли один массив отсортированной версией другого
Рассмотрим следующую проблему: Вход: два массива AAA и BBB длиной nnn , где BBB в отсортированном порядке. Запрос: делать и B содержат одни и те же элементы (с учетом кратности)?AAABBB Какой самый быстрый детерминированный алгоритм для этой проблемы? Можно ли решить это быстрее, чем отсортировать их? Можно ли решить эту …

12
Структура данных или алгоритм для быстрого поиска различий между строками
У меня есть массив из 100 000 строк, все длиной kkk . Я хочу сравнить каждую строку с любой другой строкой, чтобы увидеть, отличаются ли любые две строки на 1 символ. Прямо сейчас, когда я добавляю каждую строку в массив, я проверяю ее по каждой строке, уже находящейся в массиве, …

3
Сколько куки в коробке для печенья? - Черепица звезд
С приближением праздничного сезона я решил сделать несколько звезд с корицей . Это было весело (и результат вкусно), но мой внутренний ботаник съежился, когда я положил первый поднос со звездами в коробку, и они не поместились бы в один слой: Почти! Есть ли способ, которым они могли бы соответствовать? В …

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

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