斐波那契数列的数学分析
2016-05-19 20:33
447 查看
请用数学归纳法证明,F0=1,F1=1,F2=1,F3=2,…,,Fi=Fi−1+Fi−2,对 i≥1,Fi<(5/3)i。
我们假设定理对于 i=1,2,…,k 成立,我们的目标即为只需证明 Fk+1<(5/3)k+1,
Fk+1=Fk+Fk−1<(5/3)k+(5/3)k−1=(3/5)(5/3)k+1+(3/5)2(5/3)k+1=24/25(5/3)k+1<(5/3)k+1
类似的方法(数学归纳法,假设前面 k 项均成立,只需证明第 k+1 项成立即可)我们可证明 Fk≥(3/2)k
所以最终:
(32)N<FN<(53)N
左侧的不等式隐隐约约似乎在说,递归版的斐波那契数列算法的时间复杂度以指数的速度增长。还需一步简单的证明:
则,关于
T(N)=T(N−1)+T(N−2)+2
2 表示一次 if 判断,一次加法;
由数学归纳法证得:T(N)>Fib(N),
T(N+1)=T(N)+T(N−1)+2>Fib(N)+Fib(N−1)+2=Fib(N+1)+2
又F(N)>(32)N,则可知程序的运行时间以指数的速度增长。
x2=x+1
并由下式给出:
ϕ=1+5√2=1.61803…ϕ̂ =1−5√2=−0.61803…
特别地我们有:
Fi=ϕi−ϕi^5√
可用数学归纳法证明:
Fi+1=Fi+Fi−1====ϕi−ϕi^+ϕi−1−ϕi−1^5√ϕi−1(ϕ+1)−ϕi−1^(ϕ̂ +1)5√ϕi−1ϕ2−ϕi−1^ϕ̂ 25√ϕi+1−ϕ̂ i+15√
这蕴含着:
Fi=⌊ϕi5√+12⌋
可见斐波那契数以指数形式增长。
我们假设定理对于 i=1,2,…,k 成立,我们的目标即为只需证明 Fk+1<(5/3)k+1,
Fk+1=Fk+Fk−1<(5/3)k+(5/3)k−1=(3/5)(5/3)k+1+(3/5)2(5/3)k+1=24/25(5/3)k+1<(5/3)k+1
类似的方法(数学归纳法,假设前面 k 项均成立,只需证明第 k+1 项成立即可)我们可证明 Fk≥(3/2)k
所以最终:
(32)N<FN<(53)N
左侧的不等式隐隐约约似乎在说,递归版的斐波那契数列算法的时间复杂度以指数的速度增长。还需一步简单的证明:
long int Fib(int N) { if (N <= 1) return N; return Fib(N-1) + Fib(N-2); }
则,关于
Fib(N)的运行时间公式为:
T(N)=T(N−1)+T(N−2)+2
2 表示一次 if 判断,一次加法;
由数学归纳法证得:T(N)>Fib(N),
T(N+1)=T(N)+T(N−1)+2>Fib(N)+Fib(N−1)+2=Fib(N+1)+2
又F(N)>(32)N,则可知程序的运行时间以指数的速度增长。
斐波那契数列与黄金分割比的关系
斐波那契数与黄金分割比 ϕ 及其共轭数 ϕ̂ ,它们是下列方程的两个根:x2=x+1
并由下式给出:
ϕ=1+5√2=1.61803…ϕ̂ =1−5√2=−0.61803…
特别地我们有:
Fi=ϕi−ϕi^5√
可用数学归纳法证明:
Fi+1=Fi+Fi−1====ϕi−ϕi^+ϕi−1−ϕi−1^5√ϕi−1(ϕ+1)−ϕi−1^(ϕ̂ +1)5√ϕi−1ϕ2−ϕi−1^ϕ̂ 25√ϕi+1−ϕ̂ i+15√
这蕴含着:
Fi=⌊ϕi5√+12⌋
可见斐波那契数以指数形式增长。
相关文章推荐
- 一个数组实现两个栈
- Block从简单到高级的使用,以及项目中经常使用的场景
- JAXP对XML文档进行DOM解析实现增删改
- 数值调节按钮
- M进制与N进制之间的转换
- AngularJS控制器详情
- 数据库连接池C3P0最常用配置
- Ubuntu下类似 Mac下的 Quicksilver, Alfred 的快捷键工具
- 虚拟机的三种网络模式
- Problem 2136 取糖果---FUOJ (线段树+维护)
- 正则表达式lastIndex属性浅析
- Codeforces 484D-kindergarten
- 从零开始学_JavaScript_系列(17)——dojo(6)(声明一个类declare)
- poj 3352 Road Construction 双连通分量+缩点 模板
- 详谈android启动模式
- bzoj 1984(线段树+树链剖分)
- 解决Linux MySQL报错ERROR 2002
- nyoj 171 聪明的kk 第三届河南省程序设计大赛
- c语言总结
- redhat-2