algorithm- все статьи тега ➜ страница 7


Алгоритм создания школьного расписания

Мне было интересно, есть ли известные решения для алгоритма создания школьного расписания. В основном речь идет об оптимизации "часового разброса" (как в случае учителей, так и в случае классов) для данных ассоциаций класса-учителя-предметника. Мы можем предположить, что у нас есть наборы классов, предметов урока и учителей, связанных друг с другом на входе, и что расписание должно соответствовать между 8 утра и 4 вечера. Я думаю, что, вероятно, нет точного алгоритма для этого, но, возможно кт ...

Каков наилучший способ получить все делители числа?

вот очень тупой способ: def divisorGenerator(n): for i in xrange(1,n/2+1): if n%i == 0: yield i yield n результат, который я хотел бы получить, похож на этот, но мне нужен более умный алгоритм (этот слишком медленный и тупой : -) Я могу найти простые множители и их кратности достаточно быстро. У меня есть генератор, который генерирует фактор таким образом: (factor1, multiplicity1) (factor2, multiplicity2) (factor3, multiplicity3) и так далее... т. е. на выходе for i in f ...

Зачем использовать алгоритм Дейкстры, если width First Search (BFS) может сделать то же самое быстрее?

оба могут быть использованы для поиска кратчайшего пути из одного источника. BFS работает в O(E+V), в то время как Дейкстра работает в O((V+E)*log(V)). кроме того, я видел, что Дейкстра используется много, как в протоколах маршрутизации. таким образом, Зачем использовать алгоритм Дейкстры, если BFS может сделать то же самое быстрее? ...

Как я могу измерить сходство между двумя изображениями? [закрытый]

Я хотел бы сравнить скриншот одного приложения (может быть веб-страница) с ранее сделанным скриншотом, чтобы определить, правильно ли отображается приложение. Я не хочу точного сравнения соответствия, потому что аспект может быть немного другим (в случае веб-приложения, в зависимости от браузера, какой-то элемент может быть в немного другом месте). Это должно дать меру того, насколько похожи скриншоты. есть ли библиотека / инструмент что уже делает это? Как бы вы это реализовали? ...

Является ли цикл " for " на основе диапазона устаревшим для многих простых алгоритмов?

алгоритм решения: std::generate(numbers.begin(), numbers.end(), rand); Range-based for-loop solution: for (int& x : numbers) x = rand(); почему я хочу использовать более подробный std::generate на основе диапазона для циклов в C++11? ...

Как преобразовать массив байтов в его числовое значение (Java)?

У меня есть 8 байтовый массив, и я хочу, чтобы преобразовать его в соответствующее числовое значение. например byte[] by = new byte[8]; // the byte array is stored in 'by' // CONVERSION OPERATION // return the numeric value Мне нужен метод, который будет выполнять вышеуказанную операцию преобразования. ...

Как вам ваши первичные ключи? [закрытый]

в довольно оживленной дискуссии в моей команде я был вынужден думать, что большинство людей любят в качестве первичных ключей. У нас были следующие группы- Int / BigInt, которые autoincrement являются достаточно хорошими первичными ключами. там должно быть не менее 3 столбцов, которые составляют первичный ключ. идентификаторы Id, GUID и удобочитаемые идентификаторы строк должны обрабатываться по-разному. каков наилучший подход для PKs? Было бы здорово, если бы вы могли обоснуйте свое мнение. ...

Как реализовать систему тегов

мне было интересно, как лучше всего реализовать систему тегов, как тот, который используется на SO. Я думал об этом, но я не могу придумать хороший масштабируемое решение. Я думал о том, чтобы иметь базовое 3-х табличное решение: иметь tags таблица, an articles и tag_to_articles таблица. - это наилучшее решение этой проблемы, или есть альтернативы? Используя этот метод таблица будет получить чрезвычайно большой во времени, и для поиска это не слишком эффективно, я полагаю. С другой стороны, э ...

Округление до произвольного числа значащих цифр

Как вы можете круглый любой число (не только целые числа > 0) до N значащих цифр? например, если я хочу округлить до трех значащих цифр, я ищу формулу, которая могла бы взять: 1,239,451 и вернуть 1,240,000 12.1257 и вернуть 12.1 .0681 и возвращения .0681 5 и вернуть 5 естественно, алгоритм не должен быть жестко запрограммирован только для обработки N из 3, хотя это было бы для начала. ...

Алгоритм N-путем слияния

двустороннее слияние широко изучается как часть алгоритма Mergesort. Но мне интересно узнать, как лучше всего можно выполнить слияние N-way? допустим, у меня есть N файлы, которые отсортировали 1 миллион целых чисел каждый. Я должен объединить их в один файл, который будет иметь эти 100 миллионов отсортированных целых чисел. пожалуйста, имейте в виду, что прецедент для этой проблемы на самом деле внешняя сортировка, которая основана на диске. Поэтому в реальных сценариях было бы будьте огранич ...

Как проследить путь в широте первого поиска?

Как вы отслеживаете путь поиска по ширине, например, в следующем примере: при поиске ключа 11, вернуть короткий список подключения 1 к 11. [1, 4, 7, 11] ...

Временная сложность алгоритма решета Эратосфена

С Википедия: сложность алгоритма O(n(logn)(loglogn)) битовые операции. как вы к этому пришли? что сложность включает в себя loglogn термин говорит мне, что есть sqrt(n) куда-то. предположим, что я запускаю сито на первые 100 чисел (n = 100), предполагая, что маркировка чисел как составных принимает постоянное время (реализация массива), количество раз, когда мы используем mark_composite() было бы что-то вроде n/2 + n/3 + n/5 + n/7 + ... + n/97 = O(n^2) ...

Временная сложность алгоритма Евклида

Мне трудно решить, какова временная сложность алгоритма наибольшего общего знаменателя Евклида. Этот алгоритм в псевдокоде: function gcd(a, b) while b ≠ 0 t := b b := a mod b a := t return a это, кажется, зависит от a и b. Я думаю, что временная сложность равна O(A % b). Это правильно? Есть ли лучший способ написать это? ...

Как найти дубликат элемента в массиве перетасованных последовательных целых чисел?

Я недавно наткнулся на вопрос где-то: предположим, что у вас есть массив из 1001 целых чисел. Целые числа находятся в случайном порядке, но вы знаете, что каждое из целых чисел находится между 1 и 1000 (включительно). Кроме того, каждое число появляется только один раз в массиве, за исключением одного числа, которое встречается дважды. Предположим, что вы можете получить доступ к каждому элементу массива только один раз. Опишите алгоритм поиска повторяющегося числа. Если вы использовали вспо ...

Бинарные деревья против связанных списков против хэш-таблиц

Я создаю таблицу символов для проекта, над которым я работаю. Мне было интересно, какие мнения людей о преимуществах и недостатках различных методов, доступных для хранения и создания таблицы символов. Я сделал немного поиска и наиболее часто рекомендуемыми являются бинарные деревья или связанные списки и хэш-таблицы. Каковы преимущества и недостатки всего вышеперечисленного? (работает на c++) ...

Объясните этот фрагмент, который находит максимум двух целых чисел без использования if-else или любого другого оператора сравнения?

найти максимум из двух чисел. Вы не должны использовать if-else или любой другой оператор сравнения. Я нашел этот вопрос на онлайн-доске объявлений, поэтому я подумал, что должен спросить в StackOverflow пример Вход: 5, 10 Выход: 10 Я нашел это решение, может кто-нибудь помочь мне понять эти строки кода int getMax(int a, int b) { int c = a - b; int k = (c >> 31) & 0x1; int max = a - k * c; return max; } ...

Как рассчитать площадь 2d полигона?

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

Алгоритм поиска похожих изображений

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

Вычисление положения точек в окружности

У меня есть немного пустой ум на этот момент. У меня есть проблема, когда мне нужно вычислить положение точек вокруг центральной точки, предполагая, что все они равноудалены от центра и друг от друга. количество точек является переменной, так что это DrawCirclePoints(int x) Я уверен, что есть простое решение, но для жизни меня, я просто не вижу его:) ...

Быстрый способ найти недостающее число в массиве чисел

У меня есть массив чисел от 1 до 100 (включительно). Размер массива 100. Числа случайным образом добавляются в массив, но есть один случайный пустой слот в массиве. Каков самый быстрый способ найти этот слот, а также номер, который должен быть помещен в слот? Решение Java предпочтительнее. ...