tn表示当输入规模为n时的算法效率

tn表示当输入规模为n时的算法效率,第1张

tn表示当输入规模为n时的算法效率,算法效率最优的是 T(n ) = T ( n/2 ) +1 , T ( 1 ) =1

1、算法效率( Algorithm efficiency ),是计算机学上的概念,指的是:算法神橘肆执行时间。

算法效率,通过依据该算法编制的程序,在计算机上运行时所消耗的时间来度量。算法效率是一个组合概念,算法+效率。算法是一系列解决问题清晰指令,能够对一定规范的输入,在有限时间内获得所要求输出。

算法是一个重要概念。今天我们使用的任何一个软件,背后都是一系列算法。在智能时代,算法是我们需要了解基本游轿概念, 后续会专门阐述。

2、算法效率衡量要有细化标准。

比较效率前提是,确定一个公平的比较标准和测试方法。如上所述,是用算法执行时间来衡量算法效率,这是正确方向,但具体到用多少数据来测试算法速度,却是一个问题。原因在于,用不同数量数据测试时,两个算法相伍烂对表现,可能会完全不一样。

例如,使用1万个数据进行测试,算法 A 运行时间是2毫秒,算法 B 则需要运行10毫秒。而使用100万个数据测试,算法 A 运行8000毫秒,算法 B 运行4000毫秒。数据量少时,算法 A 用时少,更好;数据量大时,算法 B 用时少,更好。为此,计算机科学家、算法分析之父高德纳,制定大家公认算法效率评价方法。高德纳思想主要包括3个部分:

一是,在比较算法快慢时,需要考虑数据量特别大,大到近乎无穷大情况。原因在于,计算机发明出来,主要是用来处理大数据量情况。二是,比较算法快慢,只要评估随数量变化因素。

决定算法快慢因素很多,但可以分为两类:第一类是不随数据量变化因素,第二类是随着数量变化因素。当数据量趋向于无穷大时,第一类因素影响很小,可以忽略不计;因此,只要评估第二类因素。

三是,如果两种算法,在执行时间上同属一个数量级,就认为算法效率一样好。也就是说,计算机科学家关注的是至少10倍以上差异,而不关心几倍差别。以上体现的是科学研究方法,像做思想实验一样,忽略并避免次要因素干扰,关注主要因素,从而实现理论突破。而在实际工程层面,通常还要考虑次要因素,即便1%效率差异,也可能要重点关注。

tn=1-an

则有t1=a1

所以a1=1-a1

==>a1=1/2

==>t1=1/2

因为an=tn/t[n-1]

则有tn=1-tn/t[n-1]

==>tn*t[n-1]=t[n-1]-tn

==>备伍1/tn-1/早滚指t[n-1]=1

所以1/tn是首陆配项

为1/t1=2,公差为1的等差数列

所以1/n=2+(n-1)=n+1

==>tn=1/(n+1)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12316776.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存