“常用公式”在线计算,“设计手册”在线查询
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 支持支持 反对反对

共 1 个关于本帖的回复 最后回复于 2013-4-1 14:55

沙发
秀才 八品司务 发表于 2013-4-1 14:55:15 | 只看该作者
研发埠培训中心
算法的运行时间是指一个算法在计算机上运算所花费的时间。它大致等于计算机执行简单操作(如赋值操作,比较操作等)所需要的时间与算法中进行简单操作次数的乘积。通常把算法中包含简单操作次数的多少叫做算法的时间复杂性。它是一个算法运行时间的相对量度,一般用数量级的形式给出。度量一个程序的执行时间通常有两种方法:l、一种是事后统计的方法。        因为很多计算机内部都有计时功能,不同算法的程序可通过一组或若干组相同的统计数据以分辨优劣。但这种方法有两个缺陷:一是必须先运行依据算法编制的程序;二是所得时间的统计量依赖于计算机的硬件、软件等环境因素,有时容易掩盖算法本身的优劣。因此人们常常采用另一种事前分析估算的方法。2、一种是事前分析估算的方法。        一个程序在计算机上运行时所消耗的时间取决于下列因素:(1)依据的算法选用何种策略;(2)问题的规模。例如求100以内还是1000以内的素数;(3)书写程序的语言。对于同一个算法,实现语言的级别越高,执行效率就越低;(4)编译程序所产生的机器代码的质量。这个跟编译器有关;(5)机器执行指令的速度。        显然,同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行时,效率均不相同。这表明使用绝对的时间单位衡量算法的效率是不合适的。撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量"的大小,只依赖于问题的规模(通常用整数量n表示),或者说,它是问题规模的函数。        一个算法是由控制结构(顺序、分支和循环三种)和原操作(指固有数据类型的操作)构成的,则算法时间取决于两者的综合效果。为了便于比较同一问题的不同算法,通常的做法是,从算法中选取一种对于所研究的问题(或算法类型)来说是基本运算的原操作,以该基本操作重复执行的次数作为算法的时间度量。          算法的MIPS有专门的一门学问,可以去好好参考相关的数据结构书籍。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们

360网站安全检测平台