求下面表达式的时间常数 T(t) = 21 + 0.2*exp(−t/12066 )−1.2*exp(−t/58840 )

求下面表达式的时间常数
T(t) = 21 + 0.2*exp(−t/12066 )−1.2*exp(−t/58840 )

难道是用来分析算法的时间复杂度的?但通用表达式T(n)=3/5T(n-1)+4/5T(n-2)和一般的算法时间复杂度的递推式不太一样,一般的递推式是将原问题进行分治后的综合结果,但你这个貌似子问题和原问题的关系更加微妙,所以用代入法、递归树或者主方法貌似都不行,那就用比较传统的微积分中的差分方程的方法吧:式子等价于差分方程T(n)-3/5T(n-1)-4/5T(n-2)=0,边界条件T(0)=T(1)=c;其特征方程是r^2-3/5r+4/5=0,有两个解r1=(3+√89)/10≈1.24,r2=(3-√89)/10≈-0.64,因此T(n)=C1*r1^n+C2*r2^n,根据边界条件可得T(0)=C1+C2=c;T(1)=C1*r1+C2*r2=c;解得C1=c(1-r2)/(r1-r2)≈0.87c,C2=c(r1-1)/(r1-r2)≈0.13c那么T(n)=C1*r1^n+C2*r2^n≈[0.87*1.24^n+0.13*(-0.64)^n]c可以看出,当n很大的时候,(-0.64)^n可以忽略不计,1.24^n起决定性作用,因此该递归式所代表的算法的时间复杂度T(n)是指数级的。
温馨提示:内容为网友见解,仅供参考
无其他回答

求下面表达式的时间常数 T(t) = 21 + 0.2*exp(−t\/12066 )−1.2*ex...
边界条件T(0)=T(1)=c;其特征方程是r^2-3\/5r+4\/5=0,有两个解r1=(3+√89)\/10≈1.24,r2=(3-√89)\/10≈-0.64,因此T(n)=C1*r1^n+C2*r2^n,根据边界条件可得T(0)=C1+C2=c;T(1)=C1*r1+C2*r2=c;解得C1=c(1-r2)\/(r1-r2)≈0.87c,C2=c(r1-1)\/(r1-r2)≈...

相似回答