当前位置:首页 » 操作系统 » 时间测算法

时间测算法

发布时间: 2022-02-25 23:33:27

‘壹’ 如何用C实现算法运行时间的测试

在你需要计算时间的代码段前面 统计当前的CUP tick,然后再程序段后面再次统计tick,两者相减不就可以了。函数GetTickCount

‘贰’ 怎样测试一个算法所用的时间,就是测试各种排序所用的时间来比较算法的好坏

根据程序就能看出来啊 详见 http://wenku..com/view/0f7c9d6c1eb91a37f1115c3a.html

‘叁’ 一个算法的运行时所消耗的时间是如何测出来的

在忽略机器性能的基础上我们用算法时间复杂度来计算算法执行的时间
1.时间频度
一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。
2.计算方法
1. 一般情况下,算法的基本操作重复执行的次数是模块n的某一个函数f(n),因此,算法的时间复杂度记做:T(n)=O(f(n)) 分析:随着模块n的增大,算法执行的时间的增长率和f(n)的增长率成正比,所以f(n)越小,算法的时间复杂度越低,算法的效率越高。 2. 在计算时间复杂度的时候,先找出算法的基本操作,然后根据相应的各语句确定它的执行次数,再找出T(n)的同数量级(它的同数量级有以下:1,Log2n ,n ,nLog2n ,n的平方,n的三次方,2的n次方,n!),找出后,f(n)=该数量级,若T(n)/f(n)求极限可得到一常数c,则时间复杂度T(n)=O(f(n)) 例:算法: for(i=1;i<=n;++i) { for(j=1;j<=n;++j) { c[ i ][ j ]=0; //该步骤属于基本操作 执行次数:n的平方 次 for(k=1;k<=n;++k) c[ i ][ j ]+=a[ i ][ k ]*b[ k ][ j ]; //该步骤属于基本操作 执行次数:n的三次方 次 } } 则有 T(n)= n的平方+n的三次方,根据上面括号里的同数量级,我们可以确定 n的三次方 为T(n)的同数量级 则有f(n)= n的三次方,然后根据T(n)/f(n)求极限可得到常数c 则该算法的 时间复杂度:T(n)=O(n的三次方)
3.分类
按数量级递增排列,常见的时间复杂度有: 常数阶O(1),对数阶O(log2n),线性阶O(n), 线性对数阶O(nlog2n),平方阶O(n2),立方阶O(n3),..., k次方阶O(nk), 指数阶O(2n) 。随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。

‘肆’ PASCAL中测定时间的算法

真正的原理是meml是访问内存的
而Free Pascal不能用meml访问内存
所有就会编译失败
如果你实在想知道时间可以用一个扩展的Get函数,但是很麻烦、很慢。所有在比oi里基本不会用到时间的操作。
你要想测运行时间可以用cena等测试工具。
cena的下载地址:http://cena.3322.org/

在Free Pascal里还可以这样
uses sysutils;
var t1:tdatetime;
i,j,k:longint;
begin
t1:=now;
while true do
begin
if (now-t1)*86400>3 then
begin
……
break;
end;
end;
end.
注:在比赛时不能这样是使用uses sysutils库

鄙视抄答案者!!

‘伍’ 怎么用系统时钟测量算法所用的时间

在程序开始时定义一个变量记录当前时间,程序结束时获取当前时间,输出两个之差

‘陆’ 如何衡量一个时间算法的时间效率

一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。

并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。算法的时间复杂度是指执行算法所需要的计算工作量。

时间效率,一定生产时间内,机器实际运转时间与理论运转时间之比,通常用百分率表示。与设备自动化程度、速度、卷装尺寸、工人操作熟练程度及看台数有关。

(6)时间测算法扩展阅读:

点在空间中变化对点的描述称为被描述点相当于该点的时间【该点运动到某一位置时,被描述点都会有唯一的对应位置,称为此时被描述点的位置】。被描述点可以随时间变化位置不变,可知时间与被描述点的位置有函数关系。

空间使事物具有了变化性,即因为空间的存在,所以事物才可以发生变化。空间是没有能量的事物,即当事物能产生变化时,变化产生的能量已经和阻碍的能量相互抵消。

天文测时所依赖的是地球自转,而地球自转的不均匀性使得天文方法所得到的时间(世界时)精度只能达到10-9,无法满足二十世纪中叶社会经济各方面的需求。一种更为精确和稳定的时间标准应运而生,这就是“原子钟”。

世界各国都采用原子钟来产生和保持标准时间,这就是“时间基准”,然后,通过各种手段和媒介将时间信号送达用户,这些手段包括:短波、长波、电话网、互联网、卫星等。这一整个工序,就称为“授时系统”。

‘柒’ 如何在c排序算法中加入时间测试

#include "stdio.h"#include "time.h"
void main(){ clock_t t1,t2; t1 = clock();
some_sort();
t2 = clock(); printf("time elapses %d ms",t2-t1);
}

‘捌’ 如何在C++中用系统时钟测量算法所用的时间

#include <TIME.H>//时间日期头文件
double timeStandard;//定义一个浮点数存储时间差
clock_t start,finish;//定义两个时间变量存储时间
start=clock();//获取算法开始时间
finish=clock();//获取算法结束时间
timeStandard=(double)(finish-start)/CLOCKS_PER_SEC;//计算时间差
printf("\n 运行时间:%fs\n\n",timeStandard);
system("pause");

‘玖’ 奇门遁甲中根据时间,测算的步骤是什么

你是要学习奇门遁甲断卦吧,奇门遁甲断卦的顺序是先看日干,与地盘宫和奇乙的生克关系,还有月令的扶助,月令扶助是非常重要的,对自己有50%的影响力。然后看用神,例如,你求财看生门,开店看开门,地皮看死门,具体的用神在我空间有详细的,字数关系我就不一一说明,看用神与你所落之宫的生克关系,时间方面就是看时间的长远,阳遁1.8.3.4宫为时间近,2.5.7.6.9为时间长,要是阴遁就相反,看你用神所落之宫为时间为应期,我空间有百万字的文章,在奇门遁甲那一页,字太多,不方便发。。。

热点内容
C语言tf 发布:2024-11-15 14:36:22 浏览:810
违反密码法是什么意思 发布:2024-11-15 14:36:20 浏览:920
androidmp3录音 发布:2024-11-15 14:32:50 浏览:493
英朗自动挡哪个配置最好 发布:2024-11-15 14:27:44 浏览:253
编译原理断言有哪几种 发布:2024-11-15 14:25:29 浏览:200
数据库数据重复 发布:2024-11-15 14:23:17 浏览:781
安卓端开发用什么IDE 发布:2024-11-15 14:13:51 浏览:554
阿里云查看访问ip 发布:2024-11-15 14:08:58 浏览:544
随机字符串php 发布:2024-11-15 14:03:46 浏览:122
怎样用数据库搭建服务器 发布:2024-11-15 13:58:39 浏览:478