赞
踩
通过
统计、监控、利用计算机机器【处理器等】
对不同算法的运行时间进行比较,从而确定算法效率的高低,但有局限性。
在计算机程序编制前,依据
统计方法
对算法进行估算
。
- 通常用
O
来表示;- 算法的执行效率;
- 算法的执行时间与算法的输入值之间的关系。
O(1)
#include<stdio.h> void O1(int num) { int x = num; printf("%d\n", x); } int main() { O1(2); return 0; }
O(logN)
void OlogN(int num) { int i=1; while(i<num) { i = i*2; printf("%d\n", i); } } int main() { OlogN(8); return 0; }
O(N)
void ON(int num)
{
int i=0;
for(i=0; i<num; i++)
{
printf("%d\n", i);
}
}
int main()
{
ON(8);
return 0;
}
O(MN)
void OMN(int num) { int i, total; for(i=0; i<num1; i++) { total += i; } for(i=num1; i>0; i--) { total -= i; } printf("%d\n", total); } int main() { OMN(8); return 0; }
O(NlogN)
void ONlogN(int num) { int i, j, total; for(i=0; i<num; i++) { while(j<num) { total +=j; j = j*2; } } } int main() { ONlogN(8); return 0; }
O(N2)
void ON2(int num) { int i, j; for(i=0; i<num; i++) { for(j=0; j<num; j++) { printf("-"); } } } int main() { ON2(8); return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。