diff --git a/thu_dsa/chp1.md b/thu_dsa/chp1.md index 5a9524f..a6498e3 100644 --- a/thu_dsa/chp1.md +++ b/thu_dsa/chp1.md @@ -149,16 +149,16 @@ _若存在函数f(n)和正的常数c1和c2,使得在渐进的条件(n >> 2)下 所以要进行计算循环的时间复杂度,首先需要知道各种常见级数的求和方法,现列举如下: + 幂方级数: 比幂次高出一阶 - - $T_2(n) = 1^2 + 2^2 + 3^2 + ... + n^2 = /frac{n(n+1)(2n+1)}{6} = O(n^3)$ - - $T_3(n) = 1^3 + 2^3 + 3^3 + ... + n^3 = /frac{n^{2}(n+1)^{2}}{4} = O(n^4)$ - - $T_4(n) = 1^4 + 2^4 + 3^4 + ... + n^4 = /frac{n(n+1)(2n+1)(3n^{2}+3n-1)}{30} = O(n^3)$ + - $T_2(n) = 1^2 + 2^2 + 3^2 + ... + n^2 = \frac{n(n+1)(2n+1)}{6} = O(n^3)$ + - $T_3(n) = 1^3 + 2^3 + 3^3 + ... + n^3 = \frac{n^{2}(n+1)^{2}}{4} = O(n^4)$ + - $T_4(n) = 1^4 + 2^4 + 3^4 + ... + n^4 = \frac{n(n+1)(2n+1)(3n^{2}+3n-1)}{30} = O(n^3)$ - ... - - $T_k(n) = 1^k + 2^k + 3^k + ... + n^k = /int_{0}^{n}x^k{d}x = \frac{x^{k+1}}{k+1}|_{0}^{n} = O(n^{k+1}))$ + - $T_k(n) = 1^k + 2^k + 3^k + ... + n^k = \int_{0}^{n}x^k{d}x = \frac{x^{k+1}}{k+1}|_{0}^{n} = O(n^{k+1}))$ + 几何级数: 与末项同阶 + 收敛级数 + 不收敛的级数 - 调和级数 - - 对数级数 $\log1 + \log2 + \log3 + ... + \logn = \log(n!) = \Theta(n\logn)$ + - 对数级数 $log1 + log2 + log3 + ... + logn = log(n!) = \Theta(nlogn)$ 邓公说,计算的时候还是要灵活对待。最好可以画一个图分析,图上的每一个点代表一次循环,这样图的面积就是时间复杂度。