我有以下问题。我们假设我们有函数f(n)
。 f(n)
的复杂程度为O(n!)
。但是,还有参数k=n*(n-1)
。我的问题是 - f(k)
的复杂性是什么?考虑到f(k)=O(k!/k^2)
和k
之间存在二次关系,它是n
还是类似的东西?
答案 0 :(得分:1)
计算复杂性根据输入的大小进行解释。因此,如果输入为f(n) = O(n!)
时为n
,则输入为f(k) = O(k!)
时为k
。
因此,您不需要计算函数f(n)
的每个输入值的复杂度。例如,f(2) = O(2!)
,您不需要将f(10)
喜欢O((5*2)!)
的复杂度计算为10 = 5 * 2
,并尝试根据{的值来简化它{1}}。我们可以说2!
。
无论如何,如果你想要计算f(10) = O(10!)
答案 1 :(得分:0)
您是否认为存在 m ,这样您在f(n)中使用的 n 等于 m *(m - 1) )
这会改变复杂性吗?
f(n)= O(n!)中的 n 表示所有有效输入。
您正在尝试传递变量 k ,其实际值是另一个变量 n *(n - 1)。这不会改变复杂性。它只是O(k!)。