计算机的运行速度主要取决于CPU的频率,一般CPU的频率标注为**GHz,例如2.5GHz,在计算机中1Hz代表计算机的CPU在单位时间内运行一次。

频率的换算关系为1GHz=1000MHz;1MHz=一百万Hz=10^6Hz;

本计算机的频率为2.5GHz,用换算公式后得到的结果就是25亿Hz,但是CPU的过程并不是完成一次加法就是运算一次,CPU内部有各种线程,可能要运行十几次才能完成一次加法;可以编写程序测试一下计算机的运行速度,在以下的案例中,分别编写时间复杂度为O(n)、O(n^2)、O(n*logn)的程序

#include<iostream>
#include<chrono>
#include<thread>
using namespace std;
using namespace chrono;//测试时间复杂度为O(n)的程序
void fun1(long long n){long long k = 1;for (long long j = 0; j < n; ++j){k++;}
}//测试时间复杂度为O(n^2)的程序
void fun2(long long n){long long k = 1;for (long long i = 0; i < n; ++i) {for (long long j = 0; j < n; ++j) {k++;}}
}//测试时间复杂度为O(n*logn)的程序
void fun3(long long n) {long long k = 1;for (long long i = 0; i < n; ++i) {for (long long j = 1; j < n; j = j * 2) {k++;}}
}int main()
{long long n;    //输入数据的规模while (true) {cout << "输入:";cin >> n;milliseconds start_time = duration_cast<milliseconds>(system_clock::now().time_since_epoch());fun1(n);milliseconds end_time = duration_cast<milliseconds>(system_clock::now().time_since_epoch());cout << "耗时:" << milliseconds(end_time).count() - milliseconds(start_time).count() << "ms" << endl;}
}

解释以下,为什么fun3的时间复杂度是O(n*logn),外层循环n次、内层循环log2(n)。

O(n)的时间复杂度

也就是说计算五千万个数量级,耗费时间为136ms(这里计算的是1累加到5千万);

可以推理,对于O(n^2)的时间复杂度,能计算的数量级要在O(n)的基础上开根号,

显然可以得出结论,时间复杂度越低,计算相同数量级数据耗时越少

测试计算机的运行速度相关推荐

  1. 电脑专业测试cpu的软件,使用什么软件来测试计算机CPU的最佳性能

    wangfei891208 建议购买五种免费的计算机性能测试软件. 2010年5月31日18:22 IT world字体大小: T | T [IT world finish]今天推荐的软件是5个Win ...

  2. 计算机电源检查照,如何测试计算机的电源?检查计算机功耗的操作方法

    如何测试计算机的电源?当您安装新计算机或要升级旧计算机的硬件时,首先需要了解计算机电源的电源.据说仍然有一些合作伙伴不知道如何检查计算机的功耗,因此编辑特别组织了以下文章来帮助大家! 前言: 通常,新 ...

  3. 学业水平测试计算机都考什么,高中学业水平考试与高中会考有什么区别

    <高中学业水平考试与高中会考有什么区别>由会员分享,可在线阅读,更多相关<高中学业水平考试与高中会考有什么区别(4页珍藏版)>请在人人文库网上搜索. 1.高中学业水平考试与高中 ...

  4. 计算机基础和操作系统基础知识测试,计算机基础知识和操作系统.doc

    全国计算机等级考试精讲·精解·精练--二级C 第1章 计算机基础知识与操作系统 · PAGE 2· · PAGE 33· 技术资料 共享知识 第1章计算机基础知识与操作系统 大纲要求 了解计算机的有关 ...

  5. c语言第一章节测试,计算机二级C语言教程章节测试:字符串

    计算机二级C语言教程章节测试:字符串 (61) 函数调用:strcat(strcpy(str1,str2),str3)的功能是 A) 将串str1复制到串str2中后再连接到串str3之后 B) 将串 ...

  6. 人机测试计算机,人机测试

    本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 人机测试,又称人机对话测试,指将编制开发好的标准化测验通过软件技术加载在计算机上,并按照测验的规范要求设定操作程序.被评价者根 ...

  7. 计算机辐射测试,测试计算机的电磁辐射

    计算机系统中含有丰富的电磁辐射源,产生的电磁辐射会对电磁环境造成污染,同时还会带来一系列的电磁兼容问题,包括会对人体产生电磁辐射生物效应.对信息安全与保密构成威胁等.本文提出了室内电磁环境下计算机系统 ...

  8. 教师招聘 计算机技能测试,技能测试-计算机(教师招考真题).doc

    文档介绍: (时间2小时,满分100分)每个考生桌面上都有两张光盘,一张系统盘,一张资料素材盘,请考生合理使用,考试结束后,连同试题一起上交.计算机故障处理(40分)设置系统BIOS,让计算机启动时从 ...

  9. 台式计算机运行慢怎么样能提高速度,怎么样提高计算机的运行速度

    一.启动DMA方式,提高硬盘速度 在Windows里面缺省设置中,DMA却是被禁用的,所以我们必须将它打开.启用DMA:打开"控制面板/系统/设备管理器"窗口,展开"磁盘 ...

  10. 计算机基础能力入学测试,计算机基础试题入学测试+答案.doc

    计算机基础试题入学测试答案 兰州大学网络与继续教育学院2015年入学考试复习资料(计算机基础) 1.单项选择题1.存储设备中断电后信息会消失的是( C ).A.软盘 B.硬盘 C.RAM D.ROM2 ...

最新文章

  1. 如何动态修改windows下的host文件
  2. 济南python工资一般多少钱-济南python开发培训机构哪个好
  3. 实现手机左右滑屏效果
  4. TCP传输过程中丢包问题
  5. 函数重载二义性:error C2668: 'pow' : ambiguous call to overloaded function
  6. linunx 定位最耗资源的进程
  7. Visusl Studio——包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解
  8. Linux磁盘管理之磁盘结构、概念、原理01
  9. 让XCode的Stack Trace信息可读
  10. SQL Server删除整个数据库中表数据的方法(不影响表结构)
  11. 还有戏!尽管疫情严重,苹果公司仍可能4月推出iPhone 9
  12. 01-06 Linux常用命令-统计
  13. Rayeager PX2开发板 评测系列之初见
  14. git pull出现错误的解决办法
  15. 最长上升子序列(LIS)长度的O(nlogn)算法 (动态规划)
  16. PLSQL Developer详细安装步骤
  17. 反激式开关电源设计资料
  18. realtek是什么意思_Realtek高清晰音频管理器 全解析
  19. xxl-job shell脚本
  20. 获取每周第一天和最后一天

热门文章

  1. ETL——实现Kettle作业定时任务
  2. seo软文标题写作技巧:好的标题是靠这样想出来的
  3. ssb门限_SSB调制
  4. QScrollArea使用详解
  5. 值得留意在线支持插件
  6. 2.4g低功耗SI24R1校园答题器
  7. matlab连通区域质心标记,连通域的质心
  8. c语言提取质心坐标,求图像质心的C语言实现
  9. 软件开发合同纠纷的律师随笔
  10. 题目 1549: 盾神与积木游戏