单片机应用编程技巧FAQ下.doc

单片机应用编程技巧 FAQ 下 ? 30.如果准备估计一个算法的MIPS,有什么好的途径?答:算法的运行时间是指一个算法在计算机上运算所花费的时间。它大致等于计算机执行简单操作(如赋值操作,比较操作等)所需要的时间与算法中进行简单操作次数的乘积。通常把算法中包含简单操作次数的多少叫做算法的时间复杂性。它是一个算法运行时间的相对量度,一般用数量级的形式给出。度量一个程序的执行时间通常有两种方法:#61548;一种是事后统计的方法。因为很多计算机内部都有计时功能,不同算法的程序可通过一组或若干组相同的统计数据以分辨优劣。但这种方法有两个缺陷:一是必须先运行依据算法编制的程序;二是所得时间的统计量依赖于计算机的硬件、软件等环境因素,有时容易掩盖算法本身的优劣。因此人们常常采用另一种事前分析估算的方法。#61548;一种是事前分析估算的方法。一个程序在计算机上运行时所消耗的时间取决于下列因素:(1)依据的算法选用何种策略;(2)问题的规模。例如求100以内还是1000以内的素数;(3)书写程序的语言。对于同一个算法,实现语言的级别越高,执行效率就越低;(4)编译程序所产生的机器代码的质量。这个跟编译器有关;(5)机器执行指令的速度。显然,同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行时,效率均不相同。这表明使用绝对的时间单位衡量算法的效率是不合适的。撇开

文档评论(0)

1亿VIP精品文档

相关文档