刚刚开始学习算法。但是,我不知道 n0 在计算时间复杂度方面代表什么。
mergeSort时间复杂度的完整报价。
Ө(nlogn)-C1 * nlogn <= T(n)<= C2 * logn,如果n> = n0
O(nlogn)-T(n)<= C * nlogn,如果n> = n0
答案 0 :(得分:3)
从直觉上讲,语句f(n)= O(g(n))表示
对于任何足够大的值,f(n)的值都由g(n)的常数倍从上限定边界。
换句话说,尽管f(n)最初可能比g(n)大得多,但从长远来看,您会发现f(n)最终被某个恒定倍数匹配或超过。的g(n)。
您在此处指的n 0 是确定“足够大”这一概念的正式数学方法。具体来说,如果提出索赔是
T(n)≤C 2 n log n,如果n≥n 0 ,
值n 0 是一些截止阈值。也就是说,这就是说n足够大的时候了。
上述语句中n 0 和C 2 的特定选择将取决于您正在解决的特定问题,但是希望这可以使您有所了解如何解释您正在查看的内容。