关于算法运行时间的简单测试
来源:互联网 发布:怎么开通淘宝直播视频 编辑:程序博客网 时间:2024/05/29 12:38
文章将会提到两种测时办法,clock_t 与time_t,其中由于前者单位是毫秒ms而后者单位是秒s,故在精度上前者胜出,用于测时更加精准。
这个测试算法可以反映处算法的运行效率,因此可以用于比较算法设计的优劣。
//计时,可用于比较算法的效率//其中第一种办法精确度更高,前者clock_t以ms为单位,因为CLOCKS_PER_SEC数值为1000,1s/1000 = 1ms; 而后者time_t直接以秒s为单位。//不过两者都是——若调用失败,则返回-1。//Created by Ant on 07/25/2017//#include <iostream>#include <ctime>using namespace std;intmain() {intn = 1000, t = 3;while(t--){cout << "n = " << n << endl;// 显示近似 O(N^2)的时间复杂度clock_tstartTime = clock();//开始时刻for (int i = 1; i <= n; ++i)for (int j = i; j <= n; ++j );//i的初值别设置为0,否则开始时j将会一直为0死循环clock_t endTime = clock();//结束时刻//输出时间段,并转化单位为秒scout << "startTime = " << startTime << '\t' << "endTime = " << endTime << endl;cout << double(endTime - startTime) / CLOCKS_PER_SEC << "s" << endl << endl;n *= 10;}cout << endl;int n1 = 1000, t1 = 3;while (t1--) {cout << "n1 = " << n1 << endl;time_tstartT = time(NULL);//开始时刻for (int i = 1; i <= n1; ++i)for (int j = i; j <= n1; ++j);time_t endT = time(NULL);//结束时刻cout << "startT = " << startT << '\t' << "endT = " << endT << endl;cout << difftime(endT, startT) << "s" << endl << endl;n1 *= 10;}return 0;}
这是测试样例的运行结果如下:
喂丸待续……
阅读全文
0 0
- 关于算法运行时间的简单测试
- 简单的测试java代码运行时间
- C-简单的算法时间测试
- 关于测试程序运行时间
- 关于测试程序运行时间
- 简单的测试程序运行时间,避免输入干扰
- 【算法与数据结构】关于代码运行时间复杂度的计算方法
- 八大排序算法-及运行时间测试
- 测试程序运行的时间
- 测试代码的运行时间
- 测试程序的运行时间
- 测试程序的运行时间
- 算法运行时间的比较
- 动态测试方法运行时间的工具BTrace的简单应用
- 一个测试运行时间的函数
- 质数的求取及运行时间测试
- 测试程序中代码的运行时间
- PHP测试程序的运行时间
- 解决maven项目jsp页面报错
- HDU1950 Bridging signals LIS优化
- 最小生成树—Prim算法和Kruskal算法 (理解)
- ACM括号匹配问题(java实现)
- android七种滑动方法,3种滑动机制;
- 关于算法运行时间的简单测试
- 小白入门---WEB前端基础
- 网页制作总结
- 马克飞象与印象笔记的双剑合璧
- 一个整数数组,每个数字都出现K次,只有一个数字出现M次,找出这个数字(线性时间)
- python的type 和object
- Docker--I'm here(二)思想
- ZooKeeper 学习 (二) ZAB协议简单总结
- POJ1984 Navigation Nightmare(并查集)