免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: leeon868
打印 上一主题 下一主题

[算法] {炒冷饭}“母牛数量算法”一年后我的总结。 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-01-15 17:52 |只看该作者
原帖由 win_hate 于 2009-1-15 14:32 发表
2003 年的帖子,现在是 2009 年,很多东西都变了。


但是算法不会变。

论坛徽章:
1
天秤座
日期:2014-04-27 07:42:20
12 [报告]
发表于 2009-01-15 19:22 |只看该作者
这个是典型的递归问题,如果我来做这个,不用多想,用5分钟写一个递归算法就是了。与其把时间花在写程序上,还不如让电脑花上写程序的一半时间来跑结果。综合来看,还是没效率的程序效率高。

论坛徽章:
0
13 [报告]
发表于 2009-01-15 22:53 |只看该作者
这个帖子很有意义.


而且我认为这种问题明显是效率更重要.


5分钟写个递归, 花几个小时跑个程序, 综合效率高吗? 思考一遍, 以后都会受用, 效率不高吗?

[ 本帖最后由 argstormsky 于 2009-1-15 23:23 编辑 ]
fcuk 该用户已被删除
14 [报告]
发表于 2009-01-15 23:46 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
15 [报告]
发表于 2009-01-16 00:01 |只看该作者
/*斐波那契数*/
int f1(int n)//非递归
{
        int i;
        for(i=2;i<=n;i++)
                nums=nums[i-1]+nums[i-2];
        return i-1;
}

换一下不就是奶牛的吗? 为什么要递归?

论坛徽章:
1
天蝎座
日期:2013-08-25 10:27:22
16 [报告]
发表于 2009-01-16 09:22 |只看该作者
http://bbs.chinaunix.net/viewthr ... p;extra=&page=1
第44楼flw
大家其实可以考虑一下另外的一条途径:
如何利用 C++ 的特性而得出与以上讨论的完全不同的另外一种算法?
提示:牺牲空间,换取时间。


第69楼sdupoplar
方法很好,思路比较容易理解,但是不是年多了,就太耗内存了?

第70楼flw(回复69楼)
回楼上,情况的确是这样的。
所以说是“牺牲空间,换取时间”。
从某种程度上来讲,还是很划算的。



第101楼flw
呵呵。我的答案不一定是效率最高的,但是理解起来绝对是最简单的,而且结果也绝对是正确的。凡是和我的结果不同的,当然就是错的。



LZ摘头去尾的看别人的话,什么人都不会在你心中留下好印象。

[ 本帖最后由 yangsf5 于 2009-1-16 09:24 编辑 ]

论坛徽章:
0
17 [报告]
发表于 2009-01-16 10:39 |只看该作者

回复 #14 fcuk 的帖子

你要骂人我管不了,但请不要引用我的话。

论坛徽章:
0
18 [报告]
发表于 2009-01-16 11:40 |只看该作者
unsigned  long long int 得到的也是负数。。

[root@localhost tmp]# cat num.c
main(){
typedef unsigned  long long int qty_type;
        int n=60;
        int i;
        qty_type nums[100];
        nums[0]=0;
        nums[1]=nums[2]=nums[3]=1;
        for(i=4;i<=n;i++)
                nums=nums[i-1]+nums[i-3];
        printf("%d",nums[i-1]);
}
[root@localhost tmp]# gcc num.c && ./a.out
-486065870[root@localhost tmp]# uname -an
Linux localhost.localdomain 2.6.9-67.0.22.ELsmp #1 SMP Wed Jul 23 17:24:12 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost tmp]#

论坛徽章:
0
19 [报告]
发表于 2009-01-16 14:22 |只看该作者
原帖由 yangsf5 于 2009-1-16 09:22 发表
http://bbs.chinaunix.net/viewthr ... p;extra=&page=1
第44楼flw


第69楼sdupoplar

第70楼flw(回复69楼)



第101楼flw



LZ摘头去尾的看别人的话,什么人都不会在你心中留下 ...

本来想说没说, 看来 yangsf5 比我较劲
LZ 自以为是地琢磨N长时间,还噼里啪啦兴冲冲打那么多字,却不知是他自己眼神不好使。

论坛徽章:
0
20 [报告]
发表于 2009-01-16 19:28 |只看该作者
同意楼主,经推出公式后,效率比简单的OO要高太多。那什么喊着丢给电脑去跑的都是,唉,不想说。

不过楼主最后一个版本的code愣是没看懂,什么参数a啊、b啊、c啊的,其实用个vector,哪怕是用array,结构会清晰很多,不用参数在递归里来回传递,无非多几行代码,可读性好很多。

个人一点管见,勿拍。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP