C++ 数据结构1
O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)
每一个指令,在具体的计算机上运行速度固定。
空间复杂度:
long sum1(int n) { long ret = 0; //4 个字节 int* array = (int*)malloc(n * sizeof(int)); //4n个字节内存 int i = 0; //4 个字节 for(i=0; i<n; i++) //没有分配内存 { array[i] = i + 1; } for(i=0; i<n; i++) //没有分配内存 { ret += array[i]; } free(array); return ret; }
long sum3(int n) { long ret = 0;//4个字节 if( n > 0 )//没有内存 { ret = (1 + n) * n / 2; } return ret; }
long sum2(int n) { long ret = 0; //4个字节 int i = 0;//4个字节 for(i=1; i<=n; i++) { ret += i; } return ret; }
01:08:06