我有2个函数,C(n)和A(n)
我不知道为什么A(n)比C(n)慢,因为较高的增长率意味着运行时间较慢。
从我的角度来看,他们都有分子的根源。但是,A(n)除以logn,这意味着它应该小于root n。因此,整个A(n)变得比C(n)快,因为C(n)仍然具有根n(即使它是n ^ 1/3但仍然具有根)并且没有被任何东西分割。
是否有最简单的方法来定义增长率订单?
非常感谢你能解释为什么A(n)比C(n)慢。
答案 0 :(得分:0)
C(n)
和A(n)
都在分子中有根,但它们是不同的根。在C(n)
中,它是多维数据集根,在A(n)
中,它是平方根。写它们的另一种方法是:
C(n) = Θ(n ^ (1/3))
和
A(n) = Θ(n ^ (1/2) / some-log-term)
现在很明显,1/3 < 1/2
因此n
足够n^(1/3)
远小于n^(1/2)
(以及n^(1/2)/some-log-term
)。事实上,A(n)
任意大,意味着C(n) << A(n)