如果n非常大,k非常小,我可以说O(kn)是线性复杂度吗?
如果k关闭到n / 2但不超过n / 2怎么办?我认为它仍然是线性复杂性吗?或二次复杂度O(n ^ 2)?
将O(kn)视为二次复杂度,是否存在大k的限制?
答案 0 :(得分:15)
如果k
是常数,那么任何O(kn)函数都是O(n),即线性
如果k
是n
的函数且是O(n),那么任何O(kn)函数都是O(n ^ 2)。 n / 2是O(n)。此外,(n^2)/2
不 O(n),因此如果k
接近n/2
,则kn
不是O(n)。
如果k
不是O(n),则kn
不是O(n ^ 2)。
答案 1 :(得分:0)
假设k和n是独立变量,说O(kn)是线性的是一个恰当的陈述。