体验到算法之美后,那么面对同一个问题却有着众多的解决方案。
我们心里应该会有点B数。
所以,本博客不会花大篇幅去描述,算法的特性和概念。
直接进入时空复杂度的计算。
首先。
时间复杂度概念:算法需要运行的时间,一般将算法的执行次数作为时间复杂度的度量标准。
我们看算法1:
int sum = 0; //运行1次
int total = 0; //运行1次
for(int i = 0; i < n; i++){ //运行n次
sum = sum + i; //运行n次
for(int j = 0; j < n; j++){ //运行n*n次
total = total + i * j; //运行n*n次
}
那么,我们将所有语句的运行次数相加,得出: 1 + 1 + n + n + n*n + n*n = 2n^2 + 2n + 2 ,即用函数表达:
T(n)