Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 与输入数量及其大小相关的时间复杂度_Algorithm_Time_Time Complexity_Complexity Theory - Fatal编程技术网

Algorithm 与输入数量及其大小相关的时间复杂度

Algorithm 与输入数量及其大小相关的时间复杂度,algorithm,time,time-complexity,complexity-theory,Algorithm,Time,Time Complexity,Complexity Theory,我有一个算法,其中我有多个任务,对于每个任务,我必须执行与任务长度相同的操作(以分钟为单位)。行动成本为O(1)这是伪多项式、多项式还是指数算法? 这让人想起素数朴素算法或背包动态规划解决方案,但这种情况略有不同。考虑有3项任务,长度为 5;4.10;,以二进制表示:101;100; 1010;。我们必须执行19项行动。现在,如果我们通过在前面添加一位将第一个任务长度从101更改为1101,那么现在我们必须执行27个操作。在naive primes解决方案中,操作的数量不会增加一倍,而是乘以因数

我有一个算法,其中我有多个任务,对于每个任务,我必须执行与任务长度相同的操作(以分钟为单位)。行动成本为
O(1)
这是伪多项式、多项式还是指数算法?


这让人想起素数朴素算法或背包动态规划解决方案,但这种情况略有不同。考虑有3项任务,长度为<代码> 5;4.10;,以二进制表示:
101;100; 1010;。我们必须执行19项行动。现在,如果我们通过在前面添加一位将第一个任务长度从
101
更改为
1101
,那么现在我们必须执行27个操作。在naive primes解决方案中,操作的数量不会增加一倍,而是乘以因数
27/19
。如果有更多的任务,变化会更小。换句话说,算法的复杂性与输入的长度和任务的数量有关。

它仍然随着一个因素而增长,因此,我认为您的算法是正确的exponential@Lrrr你的意思是相对于输入大小的指数?那是伪多项式吗?是的,我想so@Lrrr谢谢,我想是的,这看起来很奇怪,没有对因子的估计,甚至没有一种方法来确定它的下限和上限。首先,你需要定义你的参数。在这里,最合理的参数是任务的持续时间。因此,如果
n
是任务持续时间的总和,那么时间复杂度就是
O(n)
,这当然也使得它是多项式的。它仍然随着一个因子而增长,因此,我认为你的算法是exponential@Lrrr你的意思是相对于输入大小的指数?那是伪多项式吗?是的,我想so@Lrrr谢谢,我想是的,这看起来很奇怪,没有对因子的估计,甚至没有一种方法来确定它的下限和上限。首先,你需要定义你的参数。在这里,最合理的参数是任务的持续时间。因此,如果
n
是任务持续时间的总和,则时间复杂度为
O(n)
,这当然也使其成为多项式。