wordpress多站点 seo,注册网站用于跳转虚拟货币网站违法,本地运行wordpress,网站建设网络门户本篇博客介绍算法的时间复杂度与空间复杂度
一、算法效率
算法好坏从时间和空间两个维度衡量
二、时间复杂度
1#xff0e;概念
时间复杂度是算法中基本操作的执行次数#xff0c;定量描述了算法的运行时间
2#xff0e;注意
#xff08;1#xff09;时间复杂度是偏…本篇博客介绍算法的时间复杂度与空间复杂度
一、算法效率
算法好坏从时间和空间两个维度衡量
二、时间复杂度
1概念
时间复杂度是算法中基本操作的执行次数定量描述了算法的运行时间
2注意
1时间复杂度是偏保守的估计量可理解为最低的预期 2时间复杂度是一个数量级表征大概执行次数采用大O渐进表示法
如果是常数次计算时间复杂度为O(1)在运行次数函数中只保留次数最高的那一项要省略最高阶项前面的常数 3时间复杂度实际上是一个函数f(x)注意与平时编程时调用的函数进行区分是算法精确的执行次数
3例子
1冒泡排序的时间复杂度
void BubbleSort(int* a, int n)
{ assert(a); for (size_t end n; end 0; --end) { int exchange 0; for (size_t i 1; i end; i) { if (a[i-1] a[i]) { Swap(a[i-1], a[i]); exchange 1; } } if (exchange 0) break; }
} 2二分查找的时间复杂度
int BinarySearch(int* a, int n, int x)
{ assert(a); int begin 0; int end n-1; while (begin end) { int mid begin ((end-begin)1); if (a[mid] x) begin mid1; else if (a[mid] x) end mid-1; else return mid; } return -1;
}注意只有以2为底的对数才可以简写成logN
3递归函数的时间复杂度
long long Fac(size_t N)
{ if(0 N) return 1; return Fac(N-1)*N;
} 三、空间复杂度
1概念
空间复杂度是算法运行过程中临时占用存储空间大小的量度算的是变量的个数研究额外申请的空间
2例子
long long Fac(size_t N)
{ if(N 0) return 1; return Fac(N-1)*N;
}解析从Fac(N)到Fac(0)共调用Fac()函数N1次数量级是N因此空间复杂度为O(N)