Как вычислительная сложность определяется, если алгоритм:Вычислительная сложность для случая многих ответов или несколько параметров
- ... урожаи много результатов? В общем случае (тогда алгоритм, производящий набор
k
, не может быть быстрее, чем O (k)) или за элемент (тогда оценка должна быть умножена для сравнения с алгоритмами, не создаваемыми для создания)?- Как насчет сложности хранилища - отражается ли оценка, должен ли весь набор присутствовать в памяти сразу или каждый последующий элемент может быть создан и отброшен?
- ... имеет несколько параметров? Отдельная цифра для каждого параметра или что-то вместе?
Примером, который подходит для обоих случаев, является выбор k
элементов из N
. Например. есть ли разница в оценке в зависимости от того, необходимы ли шаги ~k
или ~N
?
Я бы хотел увидеть некоторые убедительные доказательства: формальное определение термина в этих случаях и/или то, как эти двусмысленности устраняются в документах CS, а не просто случайные мысли и/или личный опыт. Цель состоит в том, чтобы разработать полное, современное решение для устранения этих двусмысленностей в моих (и других) текстах раз и навсегда.
Вопросы, которые имели меня озадачило об этом являются: Unique (non-repeating) random numbers in O(1)?, How do you efficiently generate a list of K non-repeating integers between 0 and an upper bound N, Algorithm to select a single, random combination of values?, Efficiently selecting a set of random elements from a linked list.
Для нескольких параметров вопрос, взглянуть на [Parameterized сложности или фиксированной параметра сговорчивости.] (Https://en.wikipedia.org/wiki/Parameterized_complexity) – sascha
Не получив любой ввод желаемого качества, я теперь спросил часть «формальный метод» [в cs.se] (http://cs.stackexchange.com/questions/66046/eliminating-ambiguity-when-referring-to-complexity- in-cases-of-multiple-paramete), так как формальные вещи здесь больше по теме. –