早教吧作业答案频道 -->数学-->
斐波那契数列Fn定义如下:F0=0,F1=1,F2=1,F3=2,.,Fn=Fn-1+Fn+2(n=2,3...)问:如果用大O表斐波那契数列Fn定义如下:F0=0,F1=1,F2=1,F3=2,.,Fn=Fn-1+Fn+2(n=2,3...)问:如果用大O表示Fn时递归函数的时间复杂度
题目详情
斐波那契数列Fn定义如下:F0=0,F1=1,F2=1,F3=2,.,Fn=Fn-1+Fn+2(n=2,3...) 问:如果用大O表
斐波那契数列Fn定义如下:F0=0,F1=1,F2=1,F3=2,.,Fn=Fn-1+Fn+2(n=2,3...)
问:如果用大O表示Fn时递归函数的时间复杂度是多少?
解析:
令G(x)=F0*x+F1*x^2+...+Fnx^n+1+...
其中
F2=F1+F0 ,F3=F2+F1 ,F4=F3+F2 ,...,Fn=Fn-1+Fn-2 ,...,F1=1 ,F0=0
于是
G(x)-x-x^2=F2*x^3+F4*x^5+...+Fn*x^n+1+...
=(F1+F0)*x^3+(F2+F1)*x^4+(F3+F2)*x5+(F4+F3)*x^6+...+(Fn-1+Fn-2)*x^n+1+...
=(F0*x^3+F1*x^4+...+Fn+1*x^n+1+...)+(F1*x^3+F2*x^4+...+Fn-1*x^n+1+...)
=x*2*G(x)+x*[G(x)-x]
则(1-x-x^2)*G(x)=x,有
G(x)=x / (1-x-x^2)=x/{ [1-(1+√5)/2*x)] *[1-(1-√5)/2*x)] }
设 α=(1+√5)/2,β=(1-√5)/2,利用待定系数法将上式分解为
G(x)=1/√5*[ 1/(1-α*x)-1/(1-β*x) ]=1/√5*[ (α-β)*x+(α^2-β^2)*x+...+...] ---->此处为何这样推导不解?请明解.
于是,Fn=1/√5*(α^n-β^n)≈ =1/ √5*[(1+√5)/2]^n
因此,根据大O表示法,递归计算Fn时递归函数的时间复杂度为
O{ [(1+√5)/2]^n }
斐波那契数列Fn定义如下:F0=0,F1=1,F2=1,F3=2,.,Fn=Fn-1+Fn+2(n=2,3...)
问:如果用大O表示Fn时递归函数的时间复杂度是多少?
解析:
令G(x)=F0*x+F1*x^2+...+Fnx^n+1+...
其中
F2=F1+F0 ,F3=F2+F1 ,F4=F3+F2 ,...,Fn=Fn-1+Fn-2 ,...,F1=1 ,F0=0
于是
G(x)-x-x^2=F2*x^3+F4*x^5+...+Fn*x^n+1+...
=(F1+F0)*x^3+(F2+F1)*x^4+(F3+F2)*x5+(F4+F3)*x^6+...+(Fn-1+Fn-2)*x^n+1+...
=(F0*x^3+F1*x^4+...+Fn+1*x^n+1+...)+(F1*x^3+F2*x^4+...+Fn-1*x^n+1+...)
=x*2*G(x)+x*[G(x)-x]
则(1-x-x^2)*G(x)=x,有
G(x)=x / (1-x-x^2)=x/{ [1-(1+√5)/2*x)] *[1-(1-√5)/2*x)] }
设 α=(1+√5)/2,β=(1-√5)/2,利用待定系数法将上式分解为
G(x)=1/√5*[ 1/(1-α*x)-1/(1-β*x) ]=1/√5*[ (α-β)*x+(α^2-β^2)*x+...+...] ---->此处为何这样推导不解?请明解.
于是,Fn=1/√5*(α^n-β^n)≈ =1/ √5*[(1+√5)/2]^n
因此,根据大O表示法,递归计算Fn时递归函数的时间复杂度为
O{ [(1+√5)/2]^n }
▼优质解答
答案和解析
G(x)=1/√5*[ 1/(1-α*x)-1/(1-β*x) ]=1/√5*[ (α-β)*x+(α^2-β^2)*x+...+...] 原因:
1/(1-t)=1+t+t^2+t^3.
将t分别替换成α*x和β*x,对应项合并,就可推导出
1/(1-t)=1+t+t^2+t^3.
将t分别替换成α*x和β*x,对应项合并,就可推导出
看了 斐波那契数列Fn定义如下:F...的网友还看了以下:
奇函数f0一定等于0吗 2020-06-09 …
已知函数fx-1为奇函数函数fx+3为偶函数f0=1.f8=? 2020-06-09 …
已知函数f0(x)=x(sinx+cosx),设fn(x)是fn-1(x)的导数,n∈N*.(1) 2020-06-12 …
真空中有间距为r的两个同种电荷,电荷量均为q,这是他们之间的静电力为F0,如果使他们各自的电荷量为 2020-07-03 …
如何用导数判断函数为增函数还是减函数?请问用导数如何判断函数为增函数还是减函数?例如:f(x)=1 2020-07-17 …
请问已知对数函数的极限值,如何求底数?比如y=loga(x),y无限趋近于0.75,如何求得a?请 2020-07-22 …
反证法,证斐波那契数F0=1,F1=1,F2=2,F3=3,F4=4,...,Fi=Fi-1+Fi- 2020-11-01 …
已知函数f0(x)=sinxx(x>0),设fn(x)为fn-1(x)的导数,n∈N*.( 2020-11-01 …
已知函数f0(x)=cx+dax+b(a≠0,ac-bd≠0),设fn(x)为fn-1(x)的导数, 2020-11-01 …
运动物体接收到的机械波频率假设一个定点上有一个机械波发射器,发射波的频率是一个定值f0,如果一个距离 2020-12-09 …