Быстрый ответ: нет, тест AKS не является самым быстрым способом протестировать простоту чисел. Существуют очень очень более быстрые тесты простоты чисел, что любой принимает (обобщенную) Riemann гипотезу и/или рандомизируется. (Например, Miller-Rabin быстр и прост реализовать.) Реальный прорыв бумаги был теоретическим, доказав, что детерминированный полиномиально-разовый алгоритм существует для тестирования простоты чисел, не принимая GRH или другие недоказанные догадки.
Однако если Вы хотите понять и реализовать его, , короткая статья Scott Aaronson могла бы помочь. Это не входит во все подробности, но можно запустить на уровне страницы 10 12, и это дает достаточно.:-) существует также список реализаций (главным образом в C++) здесь.
кроме того, для оптимизации и улучшений (несколькими порядками величины), Вы могли бы хотеть посмотреть этот отчет , или (более старый) отчет Crandall и Papadopoulos, или (более старый все еще) отчет J Bernstein Daniel. Все они справедливо детализировали псевдокод, который предоставляет себя хорошо реализации.
Я использую второй. Для меня это звучит хорошо. Думайте о «приоритете задачи» как о сложном слове вроде «пылесос».
Я считаю, что числа два и три мне нравятся и описательны. Я использую второй вариант. Первый вариант может сбивать с толку, поскольку он, кажется, указывает на то, что он работает с коллекцией, а не с отдельным элементом (например, Задачи вместо Задачи).
Однако я не знал, что занимаюсь саксонским родительным падежом. ; Я немедленно добавлю это в свое резюме.
Я не могу припомнить, чтобы когда-либо чувствовал необходимость использовать какие-либо из них без помощи рук.
Я пишу объектно-ориентированный код, в основном на объектно-ориентированных языках, чтобы проверить приоритетность task у вас будет task.verifyPriority ()
, хотя обычно в качестве общедоступного метода используется только task.verify ()
.
Проверка приоритета может включать другую логику - скажем, приоритет может быть только 7, если владельцем задачи является Боб. Установка Анны в качестве владельца одной из задач с приоритетом 7 Боба сделает ее несовместимой, но если бы вы вызывали verifyOwner ()
при смене владельца, а также verifyPriority ()
когда вы меняете приоритет, даже если у них была такая же логика?
Я обнаружил, что уменьшение специфичности API-интерфейсов к деталям реализации приводит к более гибкому коду.