求递归式f(n)=f(n-1)+f(n/2)的解

icerin 2006-04-14 11:04:04
能求出通项么?给出上下界也成,谢谢大家了
...全文
1231 12 打赏 收藏 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuxh 2006-05-18
  • 打赏
  • 举报
回复
不好意思,第2式我搞错了
:(
yuxh 2006-05-18
  • 打赏
  • 举报
回复
用归纳法:
(1)n=1时,显然成立
设n=2^k+m (0<=m<2^k),则
f(n)=f(n-1)+f(n/2)<=(n-1)^k + (n/2)^(k-1) = n^(k-1)*((1-1/n)^(k-1)*(n-1)+1/2^(k-1)<=n^(k-1)(n-1+1) = n^k = n^[log2(n)]成立
yuxh 2006-05-18
  • 打赏
  • 举报
回复
可以证明
(1)f(n)<=n^[log2(n)]
(2)f(n)>=n^([log2(n)]-1)
这里[x]表示向下取整
yuxh 2006-05-18
  • 打赏
  • 举报
回复
k=log(f(n))/log^2(n)基本上应该是个常数
我只得到了1/(4*log2)<=k<=1/(2*log2)
mathe 2006-05-18
  • 打赏
  • 举报
回复
n比较大时,
f(n)大概是exp(0.6*log^2(n))
也就是n^(0.6*log(n))
比n^(log(n)/log(2))要小一些
实际上,n很大时,log(f(n))/log^2(n)是一直在递增的,只是递增的速度非常慢。
但是能否达到log(2)=0.69很难说,估计是达不大的
icerin 2006-04-15
  • 打赏
  • 举报
回复
对不起,我把一些条件漏了,f(0) =1 ,f(1)=1,还有,n/2是下取整,譬如f(3)=f(2)+f(1),而不是f(3)=f(2)+f(1.5),谢谢大家的关心
jp1984 2006-04-15
  • 打赏
  • 举报
回复
求bound 就比较简单了. 因为由初始条件知道该函数值必定非负且单调递增.
f(n) = f(n - 1) + f(n/2) >= 2*f([n/2]) ~ 2*f(n/2) 当 n > 2
下面let n = 2^k就可以求出f(n)的下界

f(n) <= 2*f( n-1 ) <= 2^2*f(n-2) <= .. 2^(n-1_ = O(2^n)
求得上界
wyz2006gh 2006-04-15
  • 打赏
  • 举报
回复
对阿,怎么没有初始值啊
寻开心 2006-04-14
  • 打赏
  • 举报
回复
不是 f(n) = f(n-1) + f(n-2)
boxer_tony 2006-04-14
  • 打赏
  • 举报
回复
f(n)=1/sqrt(5)*(((1+sqrt(5))/2)^n-((1-sqrt(5))/2)^n)
寻开心 2006-04-14
  • 打赏
  • 举报
回复
f(n/2) 对于n是奇数的时候怎么办?
看似
f(n) = f(0) + f(1) + f(2) + ... + f(n/2)
jp1984 2006-04-14
  • 打赏
  • 举报
回复
连初始条件都没有,叫什么递归方程?

33,026

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧