• 递归和分治思想1 数据结构和算法31


    递归和分治思想1

     

    让编程改变世界

    Change the world by program


     

    递归

      妹子,甲鱼哥今天给你讲一个故事吧,从前我有个小弟,酷爱探险,有一次他进了一个山洞,然后又出来,然后又进去,然后又出来,然后又进去,然后又出来。。。。。。后来他很开心~ 艹,你说什么呢? 妹子悟性真高^_^   事实上递归就跟鸡生蛋蛋又生鸡的道理一样,只有等哪一天鸡不想生蛋了,做了绝孕手术或者用上了杜蕾斯,这个递归就算结束了。  

    斐波那契(Fibonacci)数列的递归实现

      插句话:Sierpinski三角形源代码放在论坛,有需要的朋友可以去下载。 斐老跟小甲鱼有个共同爱好,就是老爱拿交配说事儿,不同的是小甲鱼注重过程和细节,斐老更关心结果,下边就有他讲的一个故事:   如果说兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。假设所有兔子都不会死去,能够一直干下去,那么一年以后可以繁殖多少对兔子呢?   [caption id="attachment_2196" align="alignnone" width="530"] 斐波那契数列[/caption]  

    斐波那契数列的迭代实现

      我们都知道兔子繁殖能力是惊人的,如下图: [caption id="attachment_2197" align="alignnone" width="530"] 斐波那契数列[/caption]   我们可以用数学函数来定义: [caption id="attachment_2200" align="alignnone" width="469"] 斐波那契数列[/caption]   课间练习:假设我们需要打印出前40位斐波那契数列数,我们不妨一起考虑下用迭代如何实现?  

    斐波那契数列的递归实现

      递归事实上就是函数自己调用自己,我们先一起看下代码的实现,然后再来分析: [codesyntax lang="c"]
    int Fib(int i)
    {
    	if( i < 2 )
    		return i == 0 ? 0 : 1;
    
    	return Fib(i-1) + Fib(i-2);
    }
    [/codesyntax]   [caption id="attachment_2201" align="alignnone" width="530"] 斐波那契数列[/caption] [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/BdsUAwI5aABjZRVRe7c']视频下载[/Downlink] [Downlink href='http://urlxf.qq.com/?2Eju6bj']备胎下载[/Downlink]
  • 相关阅读:
    分布式解决方案的收集
    一天带你入门到放弃vue.js(三)
    一天带你入门到放弃vue.js(二)
    一天带你入门到放弃vue.js(一)
    JDK配置环境变量不成功的原因
    蚂蚁课堂(每特学院)-2期
    Java 使用blob对H5视频播放进行加密《java视频加密》
    Java 实现视频下载功能
    高并发与高可用实战之基础知识大型网站架构特征(一)
    Java线程池实现原理之自定义线程池(一)
  • 原文地址:https://www.cnblogs.com/LoveFishC/p/3847280.html
Copyright © 2020-2023  润新知