算法分析主要包括时间复杂度和空间复杂度。
时间复杂度 可以有事前分析和事后测试两种。
事前分析通过计算程序步数来表示
事后测试需要在程序中加入计算时间的函数来统计。在这里我采用的是clock()函数
该函数在头文件 time.h 或者ctime下
分析结果如下:
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
clock_t start, end;
start = clock();
for (int i = 0; i < 10; i++)
cout << i << endl;
end = clock();
cout << "打印0-9这一事件所用时间 : " << (double)clock()/CLOCKS_PER_SEC<< "s" << endl;
int n = 5;
while (n--) {
cout << n * 2 << " ";
}
cout << "乘法程序运行时间:" << (double)clock() / CLOCKS_PER_SEC << "s" << endl;
system("pause");
return 0;
}
计时函数 clock的数据类型:clock_t
(double)clock() / CLOCKS_PER_SEC 用来计算运行时间。
程序步数规则