当前位置:首页 » 操作系统 » 制约算法效率

制约算法效率

发布时间: 2022-09-06 03:27:02

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

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

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

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

(1)制约算法效率扩展阅读:

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

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

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

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

‘贰’ 影响算法设计的因素

1、从大的方面来讲,所选择的语言对算法的效率影响很大。一般来说,使用越高级的语言所需要的时间和空间就越大。另外,不同编译器产生的代码质量不同,这对算法的效率也会有影响。

2、存储结构

数据的存储结构,分为顺序存储结构和链式存储结构。顺序存储结构的特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系;链式存储结构则是借助指示元素存储地址的指针表示数据元素之间的逻辑关系。不同的问题求解选用不同的存储结构。
3、指针操作

在使用指针时,指针的有秩序扫描非常重要。例如在模式匹配中,如果直接进行匹配,当有不完全匹配时,主串的指针需要回溯。在KMP算法中,我们先可以求出每个元素的next函数值,从而在发生不完全匹配时,主串的指针不必要回溯,只需要模式串的元素回到当前元素的next函数值所指的元素再进行匹配即可。当主串和模式串有很多不完全匹配时,KMP算法可以大大提高效率。

4、查找的效率

有很多快速查找的算法都可以提高查找的效率,如建立索引,折半查找等,都是在记录和关键字之间进行比较,从而寻求关系。这一类查找建立在比较的基础之上。查找的效率依赖于查找过程中所进行的比较次数。

‘叁’ 影响程序效率的因素有哪些

算法、代码量等等。
程序效率是指程序的执行速度以及占用的存储空间。源程序的效率与详细设计阶段确定的算法的效率有直接的联系,算法是影响程序效率的重要因素。
在将详细设计阶段产生的算法转换成源程序代码的过程中,应考虑以下问题:
1、在编写程序前,尽可能化简有关的算术表达式和逻辑表达式。
2、仔细检查算法中的嵌套循环,尽可能将某些语句或表达式移到循环外面。
3、尽量避免使用多维数组。
4、尽量避免使用指针和复杂表达式。
5、采用快速的算术运算。
6、不要混淆数据类型,避免在表达式中出现类型混杂。
7、尽量采用整数算术表达式和布尔表达式。
8、选用等效的高效率算法。

‘肆’ 衡量算法的效率,主要考虑__和__。

一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道.但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了.并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多.一个算法中的语句执行次数称为语句频度或时间频度.记为T(n).算法的时间复杂度是指执行算法所需要的计算工作量.

‘伍’ 程序执行的效率与与什么有关

程序执行的效率跟算法有关,而一个算法的优劣可以用空间复杂度与时间复杂度来衡量。

1、空间复杂度是指算法在计算机内执行时所需存储空间的度量
2、一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。
在各种不同算法中,若算法中语句执行次数为一个常数,则时间复杂度为O(1),另外,在时间频度不相同时,时间复杂度有可能相同,如T(n)=n2+3n+4与T(n)=4n2+2n+1它们的频度不同,但时间复杂度相同,都为O(n2)。
按数量级递增排列,常见的时间复杂度有:

常数阶O(1),对数阶O(log2n),线性阶O(n),线性对数阶O(nlog2n),平方阶O(n^2),立方阶O(n^3),...,
k次方阶O(n^k),指数阶O(2^n)。随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。

‘陆’ 影响算法设计的因素有哪些

影响算法设计的有以下因素:

针对机器:空间复杂性和时间复杂性。

针对程序员:算法表达和实现的简单性。

针对问题:算法对问题及问题输入规模的普适性。

影响算法效率的因素

1、从大的方面来讲,所选择的语言对算法的效率影响很大。一般来说,使用越高级的语言所需要的时间和空间就越大。另外,不同编译器产生的代码质量不同,这对算法的效率也会有影响。

2、存储结构

数据的存储结构,分为顺序存储结构和链式存储结构。顺序存储结构的特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系;链式存储结构则是借助指示元素存储地址的指针表示数据元素之间的逻辑关系。不同的问题求解选用不同的存储结构。

3、指针操作

在使用指针时,指针的有秩序扫描非常重要。例如在模式匹配中,如果直接进行匹配,当有不完全匹配时,主串的指针需要回溯。

在KMP算法中,我们先可以求出每个元素的next函数值,从而在发生不完全匹配时,主串的指针不必要回溯,只需要模式串的元素回到当前元素的next函数值所指的元素再进行匹配即可。当主串和模式串有很多不完全匹配时,KMP算法可以大大提高效率。

4、查找的效率

有很多快速查找的算法都可以提高查找的效率,如建立索引,折半查找等,都是在记录和关键字之间进行比较,从而寻求关系。这一类查找建立在比较的基础之上。查找的效率依赖于查找过程中所进行的比较次数。

在哈希表中,使得记录的存储位置和关键字之间建立一个确定的存储关系,因而在查找时,只需要根据这个对应的关系f 找到给定值K 的像f(k)。用这个思想建立哈希表。如在基因组匹配时,用哈希表非常方便。

5、数据类型的选择

数据类型的选择也会影响算法效率,在对时间和空间要求非常严格时,尽可能的使用占用空间较小的数据类型。使用动态开辟空间会使得效率降低,所有在能确定或估计出需要的空间大小的情况下尽量使用静态数字。个人觉得用vector虽然方便,但是效率并不高。

6、存储方式

用堆操作还是用栈操作,对于不同的问题需要仔细选择。在串和队列的有关操作中用堆操作合适,在树的操作中用栈操作合适,如建立二叉树中序遍历的递归算法或非递归算法,用栈操作好。

‘柒’ 算法的执行效率和数据内存有关系吗

严格的说算法的执行效率跟算法本身的效率和计算机的效率有关。

计算机的效率包括cpu和内存的速度。这是你执行算法时候实实在在花费的时间长短。

撇开计算机的效率,算法本身的效率跟算法本身和数据有关。比如冒泡排序,如果数据本身已经接近要求的顺序和是逆序差别极大。

‘捌’ 影响算法执行时间的因素主要有哪些

影响算法执行时间的因素包括:

1、算法本身选用的策略;

2、问题的规模;

3、书写程序的语言;

4、编译产生的机器代码质量;

5、机器执行指令的速度等。

为便于比较算法本身的优劣,应排除其它影响算法效率的因素。从算法中选取一种对于所研究的问题来说是基本操作的原操作,以该基本操作重复执行的次数作为算法的时间量。

(8)制约算法效率扩展阅读:

缩短算法时间的方法:

1、选择合理的存储结构。

数据的存储结构,分为顺序存储结构和链式存储结构。顺序存储结构的特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系;链式存储结构则是借助指示元素存储地址的指针表示数据元素之间的逻辑关系。

2、使用直接初始化。

与直接初始化对应的是复制初始化。

3、减少除法运算的使用。

无论是整数还是浮点数运算,除法都是一件运算速度很慢的指令,在计算机中实现除法是比较复杂的。所以要减少除法运算的次数。

‘玖’ 算法的执行效率与什么有关

B对了吧,不过似乎不完整。这应该是数据结构的题目,数据的存储结构将直接影响到算法的执行效率的。比如用数组跟用链表的效果就是不一样的,它们的查找、插入、删除、排序都是不一样的。

‘拾’ 标题如何提高程序或算法的效率,有哪些切实可行的措施

提高程序或算法的效率措施:
1、优化sql语句,查询语句中尽量不使用select,用哪个字段查哪个字段;少用子查询可用表连接代替;少用模糊查询,数据表中创建索引。
2、对程序中经常用到的数据生成缓存(如使用redis缓存数据等)。
3、对mysql做主从复制,读写分离。从而提高mysq执行效率和查询速度。
4、使用nginx做负载均衡。将访问压力平均分配到多态服务器。

热点内容
按键脚本优化 发布:2024-05-19 04:59:57 浏览:751
怎么下载压缩包 发布:2024-05-19 04:47:47 浏览:9
二嫂水仙ftp 发布:2024-05-19 04:47:42 浏览:160
云隙服务器下载 发布:2024-05-19 04:33:22 浏览:315
德国C语言 发布:2024-05-19 04:13:40 浏览:965
音频管理器没有文件夹 发布:2024-05-19 04:13:36 浏览:667
qq邮箱端口993服务器怎么填 发布:2024-05-19 04:07:05 浏览:204
javaapi框架 发布:2024-05-19 04:06:59 浏览:365
与存储结构无关的术语 发布:2024-05-19 04:05:41 浏览:500
编译路由器固件选择 发布:2024-05-19 03:56:28 浏览:42