一个算法的『计算量』该如何量化?
来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/11/17 10:10:16
一个算法的『计算量』该如何量化?
这问题提的好.衡量算法开销通常使用O()运算符由于同一个算法运行于不同的机器上所耗费的实际时间是不同的,所以不能使用实际时间单位衡量算法运行效率,而应使用逻辑单位.描述算法复杂度的参数为算法的输入数据规模,通常用n来表示,那么算法的复杂度可表示为一个关于n的函数.通常最常用的描述算法复杂度的符号为O符号,即将复杂度表示为O(f(n)).其中f(n)用函数形式描述算法执行命令条数与输入规模n的关系,而O()起到估算化简的作用.比如某个算法经过逻辑分析后,其指令数可表示为f(n)=8n^2+10n+500,那么可以使用O(f(n))来简化其表达,O()符号运算性质有多条,总体来说就是保留增长率最高的项且忽略常数系数,上面的表达式化简结果为O(n^2).当然O()符号不能完美描述算法开销,因为它忽略了常数的影响,当某些项前的常数系数非常非常大时,会对算法复杂度的判断造成误差,这就要具体问题具体分析了.下面简单说一下具体如何分析.for (i = 0;ik *= i;}这段代码每次循环中执行一次乘法两次赋值(假定乘法使用单周期乘法器实现),循环开始执行一次赋值,那么共计执行指令数3n+1,即复杂度为O(n).for (i = 0;ifor (j = 0;jk += i * j;}循环嵌套时,内层循环执行3n+1条指令,外层循环n次,共n*(3n+1)+1=3n^2 + n +1条指令,即O(n^2).
采样信号为什么要进行量化处理?量化单位和量化误差如何计算
混凝土如何算量?如算出几方 各种算法 计算方式?
一个公司的利润该如何计算?
设计要求 (1)先用C语言描述正确的计算最大公约数的算法 ,保证算法的正确性 (2)然后设计一个该算法的
如何制定班级的德育量化积分?
在钢材焊接中,焊条的用量有没有常用的\经验算法呢?常规算法有该如何计算呢?计算
如何计算眼镜的度数?算法
如图所示给出的某一算法的程序框图,根据该程序框图,该算法计算( )
计算整数N~M之间能够被3整除的那些数的乘积,算法该如何设计
知道了阀前阀后的压力,该如何计算调节阀泄漏量允许值?
概要描述一个算法,判断一个用邻接矩阵表示的连通图是否具有欧拉回路.该算法效率类型如何?
C语言 从键盘输入一个简单的数学表达式,计算并显示该表达式的值 求算法和程序