标题:关于斐波那契查找中 n = f[k]-1
只看楼主
果沫
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:198
专家分:960
注 册:2013-1-30
结帖率:100%
已结贴  问题点数:20 回复次数:4 
关于斐波那契查找中 n = f[k]-1
我搜了一下黄金分割和斐波那契数列的关系,好像是越到后面其前后比值越接近黄金比例0.618,但是为什么是要让n=f[k]-1而不是直接让n=f[k]?
搜索更多相关主题的帖子: 黄金分割 
2014-08-21 18:28
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
得分:10 
是的

我不是砖家,要努力成为砖家。
2014-08-21 23:59
果沫
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:198
专家分:960
注 册:2013-1-30
得分:0 
回复 2 楼 砖家的谎言
什么是的?为什么n=f[k]-1而不是直接令n=f[k],而且实例代码中low是从下标1开始而非0
程序代码:
int fibonacci_search (int *a, int n, int key)
{
    int low, high, mid, i, k ;
    low = 1 ;       /* low从下标1开始 */
    high = n ;
    k = 0 ;
    while (n>F[k]-1)   /* 为什么是n>F[k]-1而非n>F[k] */
        k++ ;
/* 剩下的省略 */
}


[ 本帖最后由 果沫 于 2014-8-22 12:34 编辑 ]
2014-08-22 12:14
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:10 
问数学家呀,这是数学问题啊。

授人以渔,不授人以鱼。
2014-08-22 18:41
果沫
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:198
专家分:960
注 册:2013-1-30
得分:0 
回复 4 楼 TonyDeng
刚刚在草稿纸上推导了一通后,已经知道原因了。因为f[k] = f[k-1] + f[k-2],但是没有考虑中间值要把他排出在外。
2014-08-22 21:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-435226-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056285 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved