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

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

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

1
Взвешенная сумма последних N чисел
Предположим, мы получаем цифры в потоке. После получения каждого числа необходимо вычислить взвешенную сумму последних NNN чисел, где веса всегда одинаковы, но произвольны. Насколько эффективно это можно сделать, если нам разрешено сохранять структуру данных, чтобы помочь с вычислениями? Можем ли мы сделать что-то лучше, чем Θ(N)Θ(N)\Theta(N) , то есть пересчитывать …


3
Линия разделяет два набора точек
Есть ли способ определить, могут ли два набора точек быть разделены линией? У нас есть два набора точек и если существует линия, разделяющая и такая, что все точки и только на одной стороне линии и все точки и только на другой стороне.B A B A A B BAAAВBBAAAВBBAAAAAAВBBВBB Самый наивный …

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

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

3
Максимальный охватывающий круг заданного радиуса
Я пытаюсь найти подход к следующей проблеме: По заданному набору точек и радиусу найдите центральную точку окружности, чтобы в окружности было максимальное количество точек из множества. Время работы должно быть .r O ( n 2 )SSSrrrO(n2)O(n2)O(n^2) Сначала это казалось чем-то похожим на проблему наименьшего окружающего круга, которую легко решить в …

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

2
Кратчайший путь на неориентированном графе?
Поэтому я подумал, что этот (хотя и несколько базовый) вопрос относится к следующему: Скажем, у меня есть график размером 100 узлов, расположенных в виде шаблона 10x10 (подумайте, шахматная доска). График является ненаправленным и невзвешенным. Перемещение по графику включает перемещение трех пробелов вперед и одного пробела вправо или влево (аналогично тому, …

1
распределенная альфа-бета-обрезка
Я ищу эффективный алгоритм, который позволил бы мне обрабатывать минимаксное дерево поиска шахмат с альфа-бета-отсечкой в распределенной архитектуре. Алгоритмы, которые я нашел (PVS, YBWC, DTS см. Ниже), все довольно старые (1990 год - самый последний). Я предполагаю, что с тех пор было много существенных улучшений. Каков текущий стандарт в этой …

2
Алгоритмы проверки типов
Я начинаю личное библиографическое исследование по алгоритмам проверки типов и хочу несколько советов. Какие алгоритмы, стратегии и общие методы проверки типов наиболее часто используются? Меня особенно интересуют сложные алгоритмы проверки типов, которые были реализованы в широко известных строго статических типизированных языках, таких как, например, C ++, Java 5+, Scala или …

5
Различие в кейсе при динамическом программировании: пример необходим!
Я работал над динамическим программированием в течение некоторого времени. Канонический способ оценить рекурсию динамического программирования - создать таблицу всех необходимых значений и заполнять ее построчно. См., Например, Cormen, Leiserson и др .: «Введение в алгоритмы» для введения. Я сосредотачиваюсь на схеме вычислений на основе таблиц в двух измерениях (построчное заполнение) …

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

1
Эффективное вычисление или аппроксимация VC-измерения нейронной сети
Моя цель состоит в том, чтобы решить следующую проблему, которую я описал ее вводом и выводом: Входные данные: Направленный ациклический граф с узлами, источниками и стоком ( ).граммграммGммmNNn111m > n ≥ 1м>N≥1m > n \geq 1 Выход: VC-размерность (или приближение к ней) для нейронной сети с топологией .граммграммG Больше подробностей …

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

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